Spring Overview
· What is Spring
· Why use Spring
· Spring Philosophy
· Spring Architecture
· Spring Modules
· Obtaining/Setup Spring
· A First Spring Application
Dependency Injection
· Spring Containers
· BeanFactory
· ApplicationContext
· Bean Definitions
· Property Injection
· Collection/Array Wiring
· Null Wiring
· Dependency Checking
· Constructor Injection
· Large Configuration Files
Bean Lifecycle
· Bean Creation
· Bean Destruction
· Awareness Interfaces
· Initializing and DisposableBean Interfaces
· PostProcessors
· Factory PostProcessors
· PropertyPlaceholderConfigurer
· CustomEditorConfigurer
· Events and Event Handling
Wiring Alternatives
· Autowiring
· Pros and Cons of Autowiring
· Annotation driven wiring
Aspect Oriented Programming
· Cross Cutting Concerns
· AOP Concepts and Terminology
· Spring’s AOP Support
· AOP Setup
· Aspects
· Advice
· Pointcuts
· Advice Parameters and Ordering
· Advisors
AOP with AspectJ
· @Aspect
· Pointcuts and Advice
· Advice Parameters and Ordering
· Introductions
· Pros and Cons of XML schema-based vs. @AspectJ annotations
· Load-time Weaving
Data Access
· The DAO Pattern
· Exception Handling
· Data source configuration
· Templating
· JDBC Templates
· Callbacks
· NamedParameterJdbcTemplate
· SimpleJdbcTemplate
Transactions
· Transaction Manager
· Declarative Transactions
· Transaction Attributes
· Transaction Annotations
· Programmatic Transactions
· Transaction Template
Unit and Integration Testing
· Spring and Unit Testing
· Spring TestContext Framework
· TestContext
· Tests
· TestContext Framework Annotations
· Transaction Management
· Unit Test Framework Annotations and API
ORM Integration (Appendix)
· ORM Data Access
· Hibernate Support
· Hibernate Template
· Java Persistence API
· JPA Support
· JPA Template
· Other Templates