AM-500: Spring QuickStart: Getting started with Spring

WorkShop Overview

Produced by the ArcMind team. After completing this course you will have the skills to design and build Spring-based applications. Onsite training available.

Length

2 day, 3 day and 4 day versions of the course

Course Abstract:

Spring makes J2EE development easier. Spring is a J2EE framework that simplifies commons tasks and encourages good design based on programming to interfaces. Springs makes your application easier to configure and reduces the need for many J2EE design patterns (quite a few J2EE design patterns are really glorified hacks that clutter your code base). Spring puts the OO design back into your J2EE application. (To learn more about the Spring framework see the paper Spring is Good!)

The Spring framework was created by Rod Johnson, the famed author who wrote Expert One-on-One J2EE Design and Development.

This course is focused around labs. All lessons prepare the students to work on the labs. Our lab books are extensive.

The lesson book and the lab book are in full color. Color syntax highlighting makes code listing easier to read.

Endorsement: "I attended ArcMind's training class on Spring/Hibernate - I can say without exaggeration that it is the best technical training I have ever attended! The test driven lab work were what I liked best. (The ArcMind instructor) had a lot of hands-on industry knowledge that make him an expert in his field. I wish all classes were like this!" - Deepa (Senior Software Engineer at an eCommerce company in Dallas, TX) Read more >>

Endorsement: “ArcMind taught a Spring/Hibernate class for us and every student gave it a glowing recommendation. The instructor was engaging and genuinely interested in his client's results. ArcMind did a great job customizing our course content to meet our exact needs. A few months earlier we had another vendor teach a similar course without nearly the same positive results. If you need training, get ArcMind!” -John S. (eCommerce company in Dallas Texas) Read more >>

Outline 

Day 1

   1. Introduction to Spring
         1. Spring Technology Benefits
         2. Spring Architecture Overview
         3. Quick overview of IoC, AOP, Templates, etc.
         4. New features in Spring 2.0 Overview
   2. Creating your first Spring application
         1. Configuring Spring application context
         2. Installing Spring in your application
         3. Creating a simple application
         4. Lab: simple application: Getting familiar with App TDD
   3. Understanding IOC
         1. Configuring Beans
         2. Lab: Converting non-spring app. to use Spring
         3. Configuring Collaborators
         4. Configuring Properties (Property Editors, primitives, collection and basic types)
         5. Lab: Spring IoC and Dependency Injection
         6. Managing Bean lifecycle
         7. Create and Destroy methods
         8. Wiring options (constructor, by type, by name)
         9. Advanced App Context management (nesting app contexts)
        10. Creating a custom Property Editors
        11. Lab: Autowire, nested contexts, and lifecycle
        12. Push props / Pull Props
        13. Bean extentions
        14. Bean Factory Bean Processors
        15. Writing BeanFactory
        16. Legacy Integration (Singleton, ServiceLocator, AbstractFactories, and Factories)

Day 2

   1. Understanding AOP
         1. Aspects
         2. Joinpoints
         3. Advice (Advice that Spring supports)
         4. Interceptors
         5. Working with ProxyFactoryBean
         6. Lab: Working with AOP to create a security framework (Optional)
         7. Pointcuts
         8. Advisors
         9. Working with AutoProxies, Advisors and PointCuts
        10. Setting up auto proxies
        11. Lab: Using auto proxies in place of ProxyFactoryBean (Optional)
        12. Using Spring 2.0 AspectJ based pointcuts
        13. Lab: Using Spring 2.0 AspectJ based pointcuts (Optional)
   2. JDBC Support and DAO (Optional)
         1. JDBC Template (Intro to Templates)
         2. Using JDBC Helper objects (SqlFunction, SqlUpdate, SqlOperation, SqlQuery)
         3. Working with Mapping SQL query to setup lightweight ORM
         4. Introduction to DBUnit
         5. Lab: Adding JDBC support to the application
         6. Using DAO support
         7. Lab: Using DAO support
         8. Using AOP transaction support
         9. Lab: Applying Transaction support

Day 3

   1. Using Hibernate and Spring (Optional)
         1. Hibernate Intro
         2. Setting up mappings
         3. Setting up relationships
         4. Using Spring DAO support
         5. Lab: Replacing JDBC support with Hibernate
         6. Using AOP transaction support
         7. Lab: Applying Transaction support

   

Is your team new to Hibernate? You can combine our Hibernate and Spring course.
Hibernate Outline

Day 4 Option

   1. Using the scheduler (Optional)
         1. Setting up scheduler and jobs
         2. Quartz
         3. JDK Timer
         4. Lab: setting up the scheduler and jobs (Optional)
   2. Using Spring's email support (Optional)
         1. Problems with Java mail
         2. Spring's mail support
         3. MimeMessageHelper
         4. Lab: Using Spring's mail support (Optional)
   3. Using Spring's JMS Support (Optional)
         1. JNDI support
         2. JMSTempalte
         3. Lab: Using JMSTemplate (Optional)
   4. Spring's Remoting (Optional)
         1. Invoker
         2. Burlap
         3. Hessian
         4. XFire
         5. Lab: Using Spring Remoting (Optional)

Alternative Day 4 (Optional)

   1. Spring JSF Integration (Optional)
         1. Spring's web application support
         2. Working with Spring's PhaseListener Support
         3. Lab: Creating a PhaseListener that does object level validation
         4. Working with Spring's NavigationHandler Support
         5. Lab: Creating a simplified NavigationHandler Support
         6. Working with DelegatingVariableResolver and WebApplicationContextVariableResolver
         7. Lab: Integrating Spring and JSF for managed bean support
         8. Using a custom JSF Application object
         9. Lab: Configuring JSF Validators

   

Is your team new to JSF? You can combine our JSF and Spring course.
JSF Outline

Alternative Day 4 (Optional)

   1. SpringMVC
         1. SpringMVC intro
         2. Creating a simple application
         3. Understanding SpringMVC architecture
         4. Views, ViewResolver, Controllers
         5. Lab 12: First Spring Web App
   2. SpringMVC
         1. SimpleFormController
         2. Lifecycle
         3. Custom Validators
         4. Spring tags
         5. I18n and Messages
         6. Lab 13: CRUD Listing
   3. SpringMVC and Tiles
         1. Intro to Tiles
         2. Advanced Tiles
         3. Integrating Spring and Tiles
         4. Lab 14: Creating a site layout with Tiles
   4. SpringMVC and Commons Validator
         1. Intro to Commons Validator
         2. Generating JavaScript
         3. Integrating Spring and Commons Validator
         4. Lab 15: Generating JavaScript with Commons Validator
   5. SpringMVC and different view types
         1. Generating Excel
         2. Generating PDF
         3. Working with Velocity instead of JSPs
         4. Lab 16: Creating reports
         5. Lab 17: Replacing JSP with Velocity


If there is a topic that we did not cover and you would like us to cover it, let us know. We are constantly growing our courseware to meet the ever evolving technology landscape. 


Day 3/ Day 4 / Day 5 Options

Spring is a large framework, there are many options and it supports many different styles of development.

Since we do not know how you are going to use Spring, we offer you some options for the third and fourth day (and 5th day).

If the above does not match your needs, we can provide some custom course development wrt to Spring. You can also substitute other subjects that matter to you that are not directly related to Spring as follows: