Course Overview

Mastering the 4.2 Framework is a five-day hands-on Spring training course geared for experienced Java developers who need to understand 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. This leading-edge course provides added coverage of Spring's Aspect-Oriented Programming and the use of Spring Boot, as well as Spring security.  It includes complete coverage of all new features in Spring 4.2

The Spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.  Spring's flexibility and transparency is congruent and supportive of incremental development and testing.  The framework's structure supports the layering of functionality such as persistence, transactions, view-oriented frameworks, and enterprise systems and capabilities.

This course targets Spring 4.2, which includes full support for Java 8 and JEE 7 (earlier versions of Java and JEE continue to be supported). Spring supports the use of lambda expressions and method references in many of its APIs.

Spring makes JEE development easier. Spring simplifies common tasks and encourages good design based on programming to interfaces. Spring makes your application easier to configure and reduces the need for many JEE design patterns. Spring puts the OO design back into your JEE application, and it integrates nicely with many view technologies and the new features of HTML5.

Note that our Spring training covers the entire spectrum and is highly modularized.  As such, we can customize courses to your specific needs.  The following is a high-level listing of Spring topics to consider in building your customized Spring training.

Key Learning Areas

  • Core Spring Framework (including Inversion of Control, Dependency Injection, and Aspect-Oriented Programming)
  • Advanced Framework Features and Projects (including Spring Boot, Handling Application Events, and Spring Security)
  • Spring and Persistence (including Spring DAOs, Transactions, and Spring Data)
  • Spring and the Web (including Spring MVC and Web Flow supporting WebSockets, HTML5, and asynchronous processing)
  • Integrating Spring into the Enterprise (including Spring Integration working with JMS and other remoting options)

Course Outline

Introduction to Spring 4.2

The Spring Framework

Spring Architecture

Dependency Injection

Spring DI Container

Bean Creation Using Factories

Configuration Options: XML, Annotations, or JavaConfig

Use of Lambda Expressions and Method References in Spring

Spring Beans and Advanced Configuration

Spring's Pre-built Factory Beans

PropertyPlaceholderConfigurer

Custom Property Editors

Lazy Bean Resolution

Ordered Autowiring

Using Configuration Classes

Organizing Configuration Classes

AOP in Spring

Spring AOP

Aspect Oriented Programming - AOP

Crosscutting Concerns

Spring's AOP in a Nutshell

The Three Technologies of "Weaving"

Four Kinds of Advice

Joinpoint and PointCuts

Using Annotations with AOP

Using Annotations to Create Aspects

Other Advice Types

Types of Pointcuts

Spring Pointcut Pattern Expressions

Introductions

Persistence in Spring

Overview: Persistence in Spring

DAO Implementations

Transaction Support

Spring Support for JCache

Spring Data: JPA to NoSQL

Spring JDBC

JdbcDaoSupport - JDBC DAO Implementation

The jdbcTemplate

Exception Handling

Operation Classes

Spring and Hibernate

Benefits of Using Spring with Hibernate

Configuring Hibernate in Spring

Transaction Management

Open Session in View

Spring and the Web

Overview: Spring Views

SpringMVC and Web Flow

View Technologies

WebSockets, SockJS, and STOMP

Support for AppCache and HTML5

SpringMVC Test Framework

SpringMVC Overview

The DispatcherServlet

Workflow of Request Handling

Using Handler Mappings

ModelAndView and View

Controllers

Spring Form Tags

HandlerMapping

Mapping URLs to Controllers

HandlerMapping Interface

RequestMapping Annotation

Mapping Requests

Custom Handler Mapping

Controllers

Spring MVC's Controller Hierarchy

How to Select a Controller

Controller Interface

Controller annotation

Form Controllers

Handling Exceptions

Testing Controllers

Spring’s form Tag Library

The Spring Form tags

Using a PropertyEditor

Survey of form tags

Support for HTML5 Attributes

Advanced Spring Development

Application Events in Spring

Overview of Application Events

Built-in Events

@EventListener

Returning Object from Listener

Transaction-Bound Events

Spring Boot

Understanding Spring Boot

Convention Over Configuration

Working with Embedded Servers

Providing metrics, health checks, and more

Spring Security Framework

Enterprise Spring Security

Spring Security Framework

Security Interceptors

Authentication Managers

Wiring in Encoders and Salts

Access Decision Managers

Spring Web Security

Spring Security Transparent to Client

Standard Set of Filters

Spring Security Config File

Securing Java Code

Securing Java Spring Beans

Spring and JMS

JMS Overview (Optional)

Java Message Service (JMS)

The JMS Factory Model

JMS Queue Architecture

Topic Architecture

Messages

Spring and JMS

JmsTemplate Methods

Callback Methods

Spring Messaging Module

Message Converters

MessagePostProcessor

Destinations

Working with @JmsListener

Who Benefits

This an intermediate-level Spring 4.2 training course, designed for developers who need to understand how and when to use Spring in Java and JEE applications.

Prerequisites

Attendees should have practical basic Java development experience.

This an intermediate-level Spring 4.2 training course, designed for developers who need to understand how and when to use Spring in Java and JEE applications.