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.