TT3330: Mastering the Spring 3.0 Framework

Contact PI


  • Virtual Classroom

  • Onsite
Duration: 5 Days

This hands-on Spring training course is for experienced Java developers looking to gain a better understanding of what the Spring Framework is in terms of today's systems and architectures, and how to use Spring in conjunction with other technologies and frameworks. You will cover Spring's Aspect-Oriented Programming and the use of annotations, Spring security, and all of the new features in Spring 3.0.

You will take an in-depth tour of the basic Spring framework, initially examining concepts such as Inversion of Control and Dependency Injection, and then work with the container and basic components. You will cover the improved Spring 3.0 configuration management options centered on the Spring Expression Language (SPEL). You will learn the areas of persistence and transactions, looking at various options including both JDBC and Hibernate. After spending time examining how to extend the framework using AOP, you will then look at options for handling the view portion of an MVC web architecture. You will also examine how to integrate Spring with enterprise services such as messaging and web services (both SOAP and REST-based).

What You Will Learn

 

  • Issues associated with complex frameworks such as JEE and how Spring addresses those issues
  • Relationships between Spring and JEE, AOP, IOC, JDBC, Hibernate, JSF, Struts, JMS, and EJBs
  • Challenges to adopting Spring
  • Write applications that take advantage of the Spring container and the declarative nature of assembling simple components into applications
  • Spring Expression Language and how to use it
  • Work with various options for integrating persistence into a Spring application including the recently incorporated Object XML Mapping (OXM) functionality
  • Work with Spring's support for transactions
  • Work with various options for integrating view-oriented frameworks (Spring MVC, JSF, and Struts) for web applications into Spring
  • Integrate JMS into the Spring framework
  • Use Spring to work with and/or implement SOAP and RESTful web services
  • Use Spring Security to protect your applications

Audience

 

Developers who need to understand how and when to use Spring in Java and JEE applications

Prerequistes

 

Practical basic Java development experience

Course Outline

 

1. Spring 3.0 Framework

  • Value of Spring
  • Spring
  • Spring Application Architectures
  • Spring Container
  • Beans as Components
  • Customization Options
  • Property Editors
  • Data Handling
  • Spring Expression Language (SPEL)

2. Data Access (JDBC or Hibernate Coverage)

  • Data Access Pattern
  • Persistence Layer and Transactions
  • Working with Demarcation
  • Managing Spring Transactions
  • Spring JDBC
  • Spring Hibernate
  • XML Interoperability

3. Spring Views (MVC, Struts, or Hibernate Coverage)

  • Spring/Web Framework Architecture
  • Spring MVC
  • Spring and Struts
  • Spring and JSF

4. Aspect-Oriented Programming (AOP)

  • Benefits and Concepts
  • Framework
  • Advice and Weaving
  • Proxies
  • Types of Advice
  • Interceptor Chain
  • Joinpoints and PointCuts
  • Advisors
  • Working with Proxies
  • Annotations and AOP
  • Aspects, Advice, and Pointcuts Using Annotation
  • Annotations

5. Spring Security Framework

  • Basic Security Concepts
  • Integrating Spring Security
  • Protection Using Interceptors
  • Filters
  • Secure Web Pages
  • Secure Pages Using Multiple Roles
  • Allow Login and Logout
  • Create Custom Login Pages
  • Use JSP Tags to Conditionally Allow Content Based on Roles
  • Securing Services Based on Roles
  • Securing Services Based on Identity

6. Spring and EJBs (Optional)

  • EJB
  • Using EJBs in Spring
  • Implementing EJBs

7. Spring and JMS (Optional)

  • JMS
  • Spring/JMS Architecture
  • JMS Template
  • Callback Methods
  • Receiving Synchronous Messages
  • Message Converters
  • Working with JMS Destinations

8. SpringSource Tool Suite (STS) (Optional)

  • STS
  • Spring-Oriented Wizards
  • Spring Configuration Editor
  • Visual Development Tools
  • Interacting with tc Server
  • Deploying to tc Server

Course Labs

 

This course is approximately 50% dynamic lab exercises and 50% lecture, designed to train you in essential Spring and Hibernate development skills, coupling the most current programming techniques with the soundest industry practices.