Core Spring™

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



* Java 2 Power Programming (EWDC19JPPvB) or equivalent knowledge.

* Knowledge of XML


* 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



J2EE Part 1

J2EE Part 2