Core Spring™
Course Description
This course is targeted at
Java developers who might have some background in J2EE, who need to understand
how light-weight containers/frameworks are increasingly being leveraged by Java
SE applications and Java EE applications alike. Specifically, the Spring
framework which consists of Spring MVC, Spring AOP, Spring Web Flow, etc. will
be the focus of this course. Various Spring related concepts starting with
Inversion of Control (IoC) and its various forms such as Dependency Injection,
etc., and including Spring AOP, Spring Bean Factory / Application Context, Spring
support for data access, etc. will be discussed in detail. In addition, Springs
support for JMS, JMX, Distributed Transactions and other such topics will be covered
in depth. This course mixes lectures and discussions with hands-on labs to
communicate the concepts. It leverages the JBoss™ application Server as the
J2EE application server for deploying applications and testing them.
This course will primarily be
a knowledge transfer course (70% knowledge transfer, 30% skills building)
Target Audience
Java Programmers and
Architects with knowledge of distributed computing.
Course Prerequisites
Required:
* Java 2 Power Programming
(EWDC19JPPvB) or equivalent knowledge.
* Knowledge of XML
Recommended
* Conquer-IT! J2EE Part 1
* Conquer-IT! J2EE Part 2
Course Duration
5 days
Course Objectives
At the end of this class, you
will have accomplished the following :
* Understood the fundamental
concepts that are at the core of Spring, including Inversion of Control (IoC),
Dependency Injection, Dependency Pull, Contextualized Dependency Lookup, etc.
* Gained expertise in writing
Spring configuration files, configuration inheritance, dynamic configuration
updates, etc.
* Gained expertise in
leveraging Spring for persistence (Spring DAOs that leverage JDBC or
Hibernate), Spring transaction support (JTA as well as JDBC Transaction
management support)
* Learnt about Spring support
for Unit testing and get an idea of Spring support for Integration testing
* Understood Spring support for web application development using the MVC
pattern
* Mastered basic AOP concepts
and Spring AOP
* Understood Spring support
for JMS, Message publication, Message Subscription, Spring MDBs, etc.
* Gained expertise in
leveraging Spring’s support for JMX
* Understood Spring support
for Web Service enablement
* Gained expertise on Spring support
for security (Acegi Security system for Spring)
Course Outline
Introduction to Spring
* What is Spring
* Inversion of Control (IoC),
Dependency Injection, Dependency Pull and core concepts
* Spring Basics – the BeanFactory,
Application Context, Configuration and Configuration Inheritance
* Review of Patterns
leveraged by Spring – Factory, Delegates, etc.
Spring and Persistence
* The DAO pattern reviewed
* Spring support for JDBC based data access
* Spring support for Hibernate based data access
* Spring and transaction mangement (distributed and non-distributed)
Spring and the Web Tier
* Introduction to Spring MVC
* Spring and JSF
* Spring Tag Libraries for
JSPs
Spring and AOP
* Basic AOP Concepts
* Spring AOP
Spring support for Web
Services
* Spring, Axis and Web
Services
Spring and JMX
* Spring support for
registering any Spring Bean as a MBean
* Managing the Management
interface of MBeans
* Spring proxies and MBean
resources
Spring and JMS
* Spring support for
accessing JMS destinations
* Spring support for
asynchronous message receiving
* Spring and MDBs
Spring and Security
* Security concepts overview
* The Acegi security system
for Spring