Consulting Training Blog Careers About Us Contact Us
All Classes Will Be Held Virtually – Live Online Intertech's Training Division has been successfully instructing professionals through virtual live online training since the advent of the smartboard. It is a proven form and offers the convenience of live questions, group interaction, and labs with an instructor looking over your shoulder. Because of this, we will continue all classes live but virtually, including Agile and Scrum instruction, so businesses and individual’s seeking professional development can keep moving forward during these unexpected times.

Complete Spring Framework 3 Training

Course ID: INT2440
Duration: 5 Days

Upcoming Classes

Click the Get Notified button for priority notification when a class is next scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


The Spring Framework in an open source application framework for Java.  This framework has taken the Java software community by storm.  Its popularity continues to rise and expand to other development communities like .NET.  Spring provides the technology to develop everything from small, stand-alone applications to large, complex, enterprise systems out of simple POJOs (plain old Java objects).

In this class, students are exposed to the light-weight Spring container, configuration, foundational API, and general Spring architecture.  Students also learn Spring MVC.  Spring MVC is Spring's Model 2 framework for developing Web applications.  Not just a class that focuses on theory, this course is loaded with practical labs and deals with configuration, maintenance and architectural issues.  After taking this class, developers will immediately be able to utilize the Spring Framework (version 3) in their new or existing applications.

Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

During this course students will:

  • Learn how to download, setup and configure the Spring Framework
  • Explore the Spring Container and Modules
  • Discover the Spring philosophies and principles and how they impact application development
  • Understand dependency injection
  • Learn aspect oriented programming and how it is used to provide cross cutting concerns
  • See how to accomplish data access with Spring's DAO modules
  • Understand how Spring deals with transaction management
  • Examine Spring's unit testing framework
  • Understand how to assemble a Web application with Spring controllers, request mappings and view resolvers
  • Explore Spring MVC's tag library for Web input forms and displays
  • Learn how Spring MVC can easily render Excel spreadsheets, PDF documents and other non-HTML output


This class is designed for Java programmers with a need to understand the basic Spring Framework and API 


Students should have a good understanding of the Java programming language.  A basic understanding of relational databases and SQL is very helpful.  A basic understanding of XML is also useful.  A basic understanding of Web development is helpful in understanding Spring MVC.  Students that have attended Intertech's Complete Java have the necessary background for this course.

Course Outline

Spring Overview

  • What is Spring
  • Why use Spring
  • Spring Philosophy
  • Spring Architecture
  • Spring Modules
  • Obtaining/Setup Spring
  • A First Spring Application

Dependency Injection

  • Spring Containers
  • BeanFactory
  • ApplicationContest
  • Bean Definitions
  • Property Injection
  • Collection/Array Wiring
  • P-namespace
  • Null Wiring
  • Constructor Injection
  • Large Configuration Files

Bean Lifecycle

  • Bean Creation
  • Bean Destruction
  • Awareness Interfaces
  • Initializing and DisposableBean Interfaces
  • PostProcessors
  • Factory PostProcessors
  • PropertyPlaceholderConfigurer
  • ResourceBunderMessageResource
  • Events and Event Handling

Wiring Alternatives

  • Autowriing
  • Autowiring Collections
  • Pros and Cons of Autowiring


  • @Autowired
  • JSR-250 Annotations
  • JSR-330 Annotations
  • Stereotype Annotations
  • Filtering for Stereotyp Annotations
  • Java Configuration Annotations

Data Conversion

  • PropertyEditors
  • Custom PropertyEditors
  • Type Conversion System

Spring Expression Language (SpEL)

  • Uses
  • SpEl API
  • Evaluating Expessions
  • Language Constructs
  • Operators and Method Invocation
  • JavaBean Properties
  • Working with Collections
  • Expression Templating

Aspect Oriented Programming

  • Cross Cutting Concerns
  • AOP Concepts and Terminology
  • Spring's AOP Support
  • AOP Setup
  • Aspects
  • Advice
  • Pointcuts
  • Advice Parameters and Ordering
  • Advisors

AOP with AspectJ

  • @Aspect
  • Pointcuts and Advice
  • Advice Parameters and Ordering
  • Introductions
  • Pros and Cons of XML schema-based vs @AspectJ annotations
  • Load-time Weaving

Data Access

  • The DAO Pattern
  • Exception Handling
  • Data source configuration
  • Templating
  • JDBC Templates
  • Callbacks
  • NamedParameterJdbcTemplate
  • SimpleJdbcTemplate
  • SimpleJdbcInsert/SimpleJDBCCall


  • Transaction Manager
  • IDeclarative Transactions
  • Transaction Attributes
  • Transaction Annotations
  • Transaction Template

Unit and Integration Testing

  • Spring and Unit Testing
  • Spring TestContext Framework
  • TestContext
  • Tests
  • TestContext Framework Annotations
  • Transaction Management
  • Unit Test Framework Annotations and API

Spring MVC Overview

  • What is MVC?
  • Java MVC Frameworks
  • Spring MVC Architecture
  • A First Srping MVC Application

Spring MVC Configuration and Setup

  • DispatcherServlet
  • Context Configuration
  • Context Loaders
  • View Resolution
  • InternalResourcesViewResolver
  • BeanNameViewResolver
  • XMLViewResolver
  • ResourcebundleViewResolver
  • Using Multiple View Resolvers

Annotation Based Controllers

  • Stereotype Controllers
  • Request Mapping by Annotation
  • Path Variables
  • Handler Method Parameters
  • Handler Method Return Types
  • Command Beans and Working with Forms
  • BindingResult and Errors
  • Other Controller Annotations
  • Exception Handling
  • Old Controller Hierarchy


  • Validator
  • JSR-303 Validation

Spring Views

  • Form Tag Library
  • Binding Form Data
  • Annotation Driven Formatting
  • Externalized Messages
  • Error Messages
  • Non-template Views
  • Excel View
  • PDF View


  • Formatting Annotations
  • Custom Formatting

Appendix A - ORM Integration

  • ORM Data Access
  • Exception Translation
  • Hibernate Support
  • Hibernate Integration
  • Java Persistence API
  • JPA Support
  • JPA Integration

Appendix B - Web Flow

  • What is Web Flow
  • Why use Web Flow
  • Web Flow Architecture
  • Configuration and Setup
  • Flows
  • View-states
  • Events
  • Variables
  • Actions
  • Action and Decision States

Free Resources from Intertech

Free Tutorial: Spring Batch Admin

Free Whitepaper: Spring 4 Meta Annotations

Free Whitepaper: Spring 4 Ordering Autowired Collections