Overview of Spring
Java EE: The Good, The Bad, and the Ugly
Enter the Framework
Spring Value Proposition
The Spring Container
Web Applications
Persistence Support
Aspect-Oriented Programming
The Java EE Module(s)
Integrating Other Frameworks
The Container
JavaBeans, Reconsidered
The Factory Pattern
Inversion of Control
XML View: Declaring Beans
Java View: Using Beans
Singletons and Prototypes
Instantiation and Configuration
Configuring Through Properties
Configuration Namespaces
The p: Notation
Bean (Configuration) Inheritance
Configuring Through Constructors
Bean Post-Processors
Lifecycle Hooks
Integrating Existing Factory Code
Dependency Injection
Complex Systems
Assembling Object Graphs
Dependency Injection
Single and Multiple Relationships
The Utility Schema
Bean Aliases
Inner Beans
Autowiring
Auto-Detecting Beans
@Autowired Properties
Best Practices with Spring 2.5 Annotations
Assembling Object Models
Collections and Maps
Support for Generics
The Spring Utility Schema (util:)
Autowiring to Multiple Beans
Order of Instantiation
Bean Factory vs. Application Context
Validation
Validators
The Errors Object
ValidationUtils
Error Messages and Localization
Nested Property Paths
The Web Module
Spring in Flux
Servlets and JSPs: What's Missing
The MVC Pattern
The Front Controller Pattern
DispatcherServlet
A Request/Response Cycle
The Strategy Pattern
JavaBeans as Web Components
Web Application Contexts
Handler Mappings
"Creating" a Model
View Resolvers
Templates and DAOs
The DAO Pattern
The DaoSupport Hierarchy
The DataAccessException Hierarchy
JDBC DAOs
JdbcTemplate and RowMapper
Working with JPA
Object/Relational Mapping
The Java Persistence API
Blending Spring and JPA
Entity Manager Factories
Configuration Issues
Transactions
Transaction Managers
Transaction Advice
AOP vs. Annotations
JDBC Transaction Manager
JPA Transaction Manager
Appendix A. Spring IDE
Installing Spring IDE
Navigation Features
Auto-Completes
Validation
Support for Spring WebFlow
Appendix B. Learning Resources