Consulting Training Blog Careers About Us Contact Us

Complete Spring Framework 3 Training

Course ID: INT2440
Duration: 5 Days

Upcoming Classes

Sorry, nothing scheduled right now. Click the Get Notified button below to be alerted when a class is 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

Description

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

Audience

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

Prerequisites

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

Annotations

  • @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

Transactions

  • 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

Validation

  • 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

  • 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 Book Chapter: Spring Web

Free Whitepaper: Spring MVC Command Beans

X