« Human-Computer Interaction - Chapter 1 The Human | Main | Architectural Improvement by use of Strategic Level Domain-Driven Design »

Spring Framework Reference - Chapters 1 and 2

Spring provides a light-weight solution for building enterprise-ready applications, while still supporting the possibility of using declarative transaction management, remote access to your logic using RMI or web services, and various options for persisting your data to a database. Spring provides a full-featured MVC framework, and transparent ways of integrating AOP into your software.


Spring provides a light-weight solution for building enterprise-ready applications, while still supporting the possibility of using declarative transaction management, remote access to your logic using RMI or web services, and various options for persisting your data to a database. Spring provides a full-featured MVC framework, and transparent ways of integrating AOP into your software.


Spring could potentially be a one-stop-shop for all your enterprise applications; however, Spring is modular,
allowing you to use just those parts of it that you need, without having to bring in the rest. You can use the Inversion of Control (IoC) container, with Struts on top, but you could also choose to use just the Hibernate integration code or the JDBC
abstraction layer. Spring has been (and continues to be) designed to be non-intrusive, meaning dependencies on
the framework itself are generally none (or absolutely minimal, depending on the area of use).


The IoC component of the Spring Framework addresses the enterprise concern of taking the classes, objects, and services that are to compose an application, by providing a formalized means of composing these various
disparate components into a fully working application ready for use.


Overview


  • The Core package - the most fundamental part of the framework and provides the IoC and Dependency Injection features. The basic concept allows you to decouple the configuration and specification of dependencies from your actual program logic.
  • On top of the Core package sits the Context package - provides a way to access objects in a framework-style manner
  • The DAO package - provides a JDBC-abstraction layer and a way to do programmatic as well as declarative transaction management.
  • The ORM package - provides integration layers for popular object-relational mapping APIs
  • Spring's AOP package - provides an aspect-oriented programming implementation allowing you to cleanly decouple code implementing functionality that should logically speaking be separated.
  • Spring's Web package - provides basic web-oriented integration features
  • Spring's MVC package - provides a Model-View-Controller (MVC) implementation for web-applications,it provides a clean separation between domain model code and web forms.