FastTrack to Spring 2.0 Course
Course Description
Course pre-requisites:
Topics covered on the 3 day FastTrack to Spring 2.0 course
Introduction to Spring
- The Challenge of Enterprise Applications
- Shortcomings of Java/Java EE
- What is Spring?
- The Spring Components
- The Spring Distribution
- Spring Introduction
- Managing Beans
- A Basic Spring Application
- Some Bean Classes
- Configuration Metadata
- Declaring Beans
- The Spring Container
- Working with Spring
- Why Bother?
- Some Important BeanFactory Methods
- Dependencies and Dependency Injection
- Dependencies Between Objects
- Dependency Inversion Principal
- Dependency Injection (DI) in Spring
- Dependency Injection Configuration
- Advantages of Dependency Injection
- Dependency Injection Reduces Coupling
More about Bean Properties
- Working with Properties
- Configuring Value Based Properties
- Using Value Based Properties
- Property Conversions
- Constructor Injections
- Constructor Argument Resolution
- Setter Injection vs. Constructor Injection
- Collection Valued Properties
- Working with Collections
- Configuring
- and
Properties - Configuring Collections of Bean References
- Map Valued Properties
- java.util.Properties Valued Properties
- Additional Capabilities
- Factory Methods
- Instance Factory Methods
- Bean Aliases
- Bean Definition Inheritance
- Autowiring
- Autowiring byType
- Pros and Cons of Autowiring
- To Autowire or Not to Autowire
The Spring Container and API
- ApplicationContext
- ApplicationContext Interface
- ApplicationContext Implementations
- Constructors
- Using an ApplicationContext
- Spring Resource Access
- Built-in Resource Implementations
- Bean Scope and Lifecycle
- Bean Scope
- Specifying Bean Scope
- Inner Beans
- Compound Names
- Depends On
- Bean Creation Lifecycle
- Bean Creation Lifecycle Details
- Using the Lifecycle Interfaces for Beans
- Bean Destruction Lifecycle
- BeanPostProcessor
- Event Handling
- MessageSources
- Issues with Messages
- Resource Bundles
- Defining Resource Bundles
- Using Resource Bundles and MessageSource
- Localization/Internationalizatin
- Paramaterizing Messages
Database Access with Spring
- Issues with JDBC
- Problems Using JDBC Directly
- Let’s Review Some Simple JDBC Usage
- Simple Query on the Database
- Problems with the Previous Approach
- Spring Support for the DAO Pattern
- Spring DAO Support
- The Spring Database API
- The JdbcTemplate Class
- The JdbcDaoSupport Class
- DataSources
- Spring Jdbc Exception Hierarchy
- DAO Based on Spring Classes
- Configuring a DataSource
- Looking up a DataSource in JNDI
- Building a DAO Without the Support Class
- Queries and Updates
- Querying with JdbcTemplate
- Mapping Result Rows to Objects
- Defining a RowMapper Class
- Inserting/Updating
- SimpleJdbcTemplate
- The SimpleJdbcTemplate Class
- The SimpleJdbcDaoSupport Class
- Querying with SimpleJdbcTemplate
- Defining a ParameterizedRowMapper
- Inserting/Updating
- Hibernate Overview
- Typical Hibernate Configuration File
- Using Hibernate Directly
- Spring Support for Hibernate
- HibernateTemplate
- LocalSessionFactoryBean
- HibernateDaoSupport
- Configuring a Hibernate DAO
- Querying with HibernateTemplate
- UsingHibernateCallback
- Contextual Sessions
- Spring Free DAO
- What Approach to Use
- Support for Java Persistence API (JPA)
Aspect Oriented Programming (AOP
- AOP Overview
- The Issue with Crosscutting Concerns
- Crosscutting Illustrated
- Aspect Oriented Programming (AOP) Defined
- Spring AOP Introduction
- Spring AOP with AspectJ Annotations
- Defining an Aspect with @AspectJ
- Defining a Pointcut
- Defining Advice
- Configuring Spring
- A Program that Triggers Advice
- More on How Spring AOP Works
- Pointcut Expressions and Advice
- Pointcut Expressions
- Sample Execution Designator Patterns
- Other Designators Available in Spring AOP
- Combining Pointcut Expressions
- Kinds of Advice
- A Brief Note on Annotations
- Annotation Definition
- Using Annotations
- XML Based AOP Support
- Defining Aspects Using XML
- Specifying Advice with XML
- Other Considerations
- Spring Proxies and Direct Invocation
- More on Spring Proxies
- Issues with AOP
- Is AOP Worth It
- Other AOP Capabilities and Functionality
Transactions
- Transaction Managers
- Configuring Transaction Managers
- JTA Transaction Manager
- Spring Declarative Transaction Management
- Transactional Scope
- Transaction Attributes for Propagation
- MANDATORY
- NESTED
- NEVER
- NOT_SUPPORTED
- REQUIRED
- REQUIRES_NEW
- SUPPORTS
- Transaction Attributes – Some Choices
- Specifying Transaction Attributes
- Additional Transactional Attributes
- Rolling Back and Exceptions
- XML Configuration
- Linking Advice with Pointcuts
- <tx:method> Attributes
Spring and the Web
- Integration with Java EE
- Spring and Java EE
- Java EE Web Applications
- Web Application Structure
- Web Application Components
- ApplicationContext and Web Apps
- Configuring ContextLoaderListener
- Using the Application Context
- Spring MVC Basics
- What is Spring MVC?
- MVC Architecture
- MVC Pattern Flow
- Spring MVC Architecture
- Simple Search App Model – Servlets/JSP
- Simple Search App Model – Spring MVC
- DispatcherServlet
- DispatcherServlet Initialization
- Command Controllers
- Very Simple Command Controller
- Configuring the Command Controller
- Forms and View Resolvers
- View Resolvers
- A JavaBean Command Class
- Working with Forms
- Defining a FormController
- Configuring a FormController
- The Response View
- HandlerMappings
Course Classification:
Technical Training Course
This is an instructor led training course taught in a classroom based environment.
Scheduled course dates
| July 2010 | August 2010 | October 2010 | October 2010 | December 2010 |
| - | - | - | - | - |
Print / Download PDF Version of full course schedule
If you would prefer to run this course at your premises as you have several employees to place on the course perhaps, then we are also able to offer onsite Programming Training and bespoke Programming courses