Produced by the ArcMind team. After completing this course you will have the skills to design and build Spring-based applications. Onsite training available.
2 day, 3 day and 4 day versions of the course
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.
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: