Specialised Advanced IT Training
Tel : 0845 051 3801
  Generation home>Courses
Introduction to Java Programming 0101
Introduction to Java for non-C programmers 0102
Intermediate Java Programming 0103
Advanced Java Programming 0104
Java Swing 0105
Introduction to Struts 0201
Java Server Faces 0202
Java Web Programming 0203
Java Enterprise Training 0204
Spring Framework 0205
Hibernate 3.0 0206
Introduction to Web Services 0207
Java Web services Using JAX-RPC 0208
Introduction to Linux 0901
Linux System Administration 0902
Shell Programming 0903
Job Vacancies
J2EE Training   enquiry@advancedittraining.co.uk

Spring Framework 0205 - Course duration: 4 days

Course Objectives:

you will learn how to

Understand the core principles of Spring, and of Dependency Injection (DI)/Inversion of Control. Use the Spring Core module and DI to configure and wire application objects (beans) together. Understand and use the complete capabilities of the Core module, such as lifecycle events, bean scopes, and the Spring API. Work with the DAO and/or ORM modules to create a well structured persistence layer with JDBC or Hibernate. Understand and use Spring 2.0's powerful new AOP capabilities for programming cross-cutting concerns across multiple points in an application. Understand and use Spring's transaction support, including Spring 2.0's easy to use tx/aop XML configuration elements, and Java 5 annotations. Understand the structure of Spring (Acegi) security. Understand how Spring MVC works, and how to build well-structured Web applications with it.


Students should have a good working knowledge of basic Java, JDBC, and Servlets/JSP.

Course Contents:

1. 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

2. 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 <list> and <set> 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

3. 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

4. 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)

5. 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

6. Transactions

  • Transaction Managers
  • Configuring Transaction Managers
  • JTA Transaction Manager
  • Spring Declarative Transaction Management
  • Transactional Scope
  • Transaction Attributes for Propagation
  • Transaction Attributes Ė Some Choices
  • Specifying Transaction Attributes
  • Additional Transactional Attributes
  • Rolling Back and Exceptions
  • XML Configuration
  • Linking Advice with Pointcuts
  • <tx:method> Attributes

7. 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

Standard Tuition 

2 days £875
3 days £1115
4 days £1355
5 days £1595

For more information click here....


About Us
Contact Us
Terms & Conditions
Become a Trainer
© 2008 Advanced it training , All Rights Reserved
Java Training, Introduction to Java Programming, Introduction to Java for Non-C Programmers Intermediate Java Programming, Advanced Java Programming, Java Swing, J2EE Training, Introduction to Struts, Java Server Faces Java Web Programming, Java Enterprise Programing, Spring Framework, Hibernate 3.0, Introduction to Web Services, Java Web Services Using JAX-RPC, Web Services, Introduction to Web Services, Java Web Services Using JAX-RPC, Linux Training, Introduction to Linux, Linux System Administration , Shell Programming, UNIX Training, UNIX Fundamentals, UNIX Tools & Utilities, Shell Programming, UNIX System Administration, UNIX System Programming in C/C++, Object Oriented Training, C++ Programming, Introduction to Java for Non-C Programmers, Introduction to Java Programming Intermediate Java Programming, Advanced Java Programming, C# Programming, C# Essentials, C# Training, C# Programming, C# Essentials, XML Training, Introduction to XML, Introduction to XSL, Object Oriented Training, Object Oriented Analysis & Design using UML Design Patterns, MySql Training, MYSql developemnt and administration