Session 1: Introduction
- Overview of Spring Technology
- Shortcomings of Java EE, Spring Architecture
- Spring Introduction
- Managing Beans, The Spring Container, IoC, DI
- Configuration Metadata - XML, @Component, Auto-Detecting Beans
- Dependencies and Dependency Injection (DI)
- Dependency Inversion, Dependency Injection (DI) in Spring, DI Configuration - XML, @Resource
Session 2: More about Bean Properties
- Working with Properties
- Configuring Value Properties, Property Conversions, Setter / Constructor Injection
- Spring Expression Language for Configuration
- Collection Valued Properties
- Configuring and using lists, sets, etc.
- Additional Capabilities
- Factory Methods, Bean Aliases, Definition Inheritance (Parent Beans)
Session 3: The Spring Container and API
- ApplicationContext
- ClassPathXmlApplicationContext, FileSystemXmlApplicationContext, Constructors, Usage
- Resource Access - Overview, Resource Implementations
- Validation
- Overview, JSR-303
- Declarative Validation, @NotNull, @Size, @Min, etc
- Configuration, Injection
- Bean Scope and Lifecycle
- Bean Scope Defined, Configuring, Inner Beans, Bean Creation Lifecycle, Lifecycle Callbacks, BeanPostProcessor, Event Handling
- MessageSources
- Defining and Using Resource Bundles, Localization/I18N
- Annotation Driven Configuration
- Stereotypes: @Component, @Service, @Controller, @Repository
- Java EE 5 Annotation Support
- Defining Custom Annotations
- Autowiring
- @Autowired on setters, constructures, methods, fields
- Injecting resources like ApplicationContext
- Fine tuning with @Qualifier
- Java Based Bean Metadata (JavaConfig)
- Overview - code-centric Configuration
- @Confguration, @Bean, and @Value
- Importing and @Import
- Autowiring in Configuration Classes
- Mixing XML Configuraiton and @Configuration
- XML vs Annotation Based Configuration
- Other Capabilities
- SpEL - Spring Expression LanguageValidation
Session 4: Database Access with Spring
- Issues with JDBC / Typical JDBC Flow
- Introduction to Spring DAO Support
- Spring Database API, (Simple)JdbcTemplate, (Simple)JdbcDaoSupport, DataSources,
- Working With and Configuring, <list>, <set>, With Bean Refs, <map>, <props>
- Queries and Inserts
- RowMapper, ParameterizedRowMapper, Passing Arguments, queryForObject, query, update
- Additional API Capabilities
- Additional query methods, Passing Type Arguments, queryForList, FetchSize, MaxRows
- Using Spring with Hibernate
- Overview of Template Approach, SessionFactory configuration
- Using Contextual Sessions
- Using Spring with JPA
- LocalEntityManagerFactoryBean, LocalContainerEntityManagerFactoryBean, JNDI, PersistenceUnitManager
- DAO Support - @PersistenceUnit, @PersistenceContext
Session 5: Aspect Oriented Programming (AOP)
- Overview of AOP
- AOP Basics, Aspect, Joinpoint, Advice, Pointcut
- Introduction to Spring AOP
- Capabilities, Configuration (Annotation Based and XML), Weaving, Joinpoints
- Using Aspects
- Defining Advice, Configuring Pointcuts, Targets and Proxies
- XML Configuration with <aop:>
- AspectJ Pointcuts, Autoproxies
- Using @AspectJ Annotations
- @AspectJ Annotations, Declaring Advice
|
Session 6: Spring Transaction (TX) Management
- Intro to Spring Transaction Management
- Overview, Component TX Model, TX Propagation, Declarative Transactions, TransactionManagers
- Using Spring Transactions
- Annotation Configured Transactions
- @Transactional and its settings
- XML Configured Transactions
- new <tx:*> elements, Configuring tx:advice, and tx:attributes
- Defining the TX advisor
Session 7: Introduction to Spring Web Integration and Spring MVC
- Integrating Spring with Java EE Web Apps, ContextLoaderListener, WebApplicationContext
- Spring Web MVC Overview, Capabilities, Architecture
- Spring MVC Basics
- DispatcherServlet, Configuration, mvc Namespace
- Controllers, @Controller, Handler Methods
- @RequestParam and Parameter Binding
- View Resolvers
- Writing Controllers, @Controller, @RequestMapping, @RequestParam, @PathVariable
- Forms and Binding, Spring Form Tags, @ModelAttribute
- Session Attributes, @SessionAttributes
Session 8: Overview of Spring Security
- Overview - Capabilities, Architecture
- Introduction to Spring Security
- HTTP Security
- Method Security
- Annotation-Based Security
- Expression-Based Access Control
- Authentication Providers
Session 9: Introduction to Spring Web Flow 2
- Overview - Need for Flow, Capabilities, Architecture
- Defining Flows
- XML Flow Definition Language
- Flows, States, and Transitions
- Accesing Flows in Web Pages
- Exiting Flows - flowRedirect and externalRedirect
- Configuring Web Flow - Flow Executor, Flow Registry, Integration with Spring MVC
- Working with Data - Flow Instance Variables, Flow Inputs
- View Pages and Model Binding
- Flow Actions - evaluate, set, and render
Session 10: More on Spring Web Flow 2
- Using the Spring Expression Language (SpEL) with Web Flow
- Syntax and Expressions
- Implicit Objects
- Flow Control
- Using Data Scopes - Request, Flash, View, Flow, Conversation, and Session Scope
- POST-REDIRECT-GET Idiom
- Flow Language Elements
- More on States, Actions, and Other Elements
- Routing with action-state and decision-state
Session 11: Programming with Spring Web Flow 2
- Creating Custom Actions
- POJO Based Actions vs the Action interface
- RequestContext and ExternalContext
- Validation and Error Reporting
- Defining Validation in the Model and in a Validator Class
- ValidationContext, MessageContext, and Resource Bundles
- Converters
- Subflows
- Defining and Using
- Input/Output Variables
- Conversation Scope Variables
- Subflow End States
|