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
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
Customizing Control Flow
HandlerMapping Options
ViewResolver Options
Chaining View Resolvers
Triggering Redirects
Controllers and Commands
Working with Forms
Command Objects
The Template Method Pattern
Command Controllers
Data Binding
MultiActionController
Scope and Granularity of Command Objects
Auto-Detecting @Controllers
The @RequestMapping Annotation
Binding and Validation
Property Editors
Custom Property Editors
Registrars
Validating Form Input
Form Controllers
Form Controllers
AbstractFormController
SimpleFormController
Spring Custom Tags
<form:form> and Friends
<form:errors>
Reporting Errors
@RequestMapping for Form Controllers
@RequestMapping for Multi-Action Controllers
Other Handler Annotations
Controller vs. @Controller
Refining the Handling Cycle
The Intercepting Filter Pattern
Exception Handling
Interceptors
The Decorator Pattern
Context and Lifecycle
Awareness Interfaces
Support and Utility Classes
"Death By XML"
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
Naviation Features
Auto-Completes
Validation
Support for Spring WebFlow
Appendix B. Learning Resources