Course Overview

Core Spring 4.x Essentials is a three-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.  Students will gain hands-on experience working with Spring, using Maven for project and dependancy management, and, optionally, a test-driven approach (using JUnit) to the labs in the course.

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.x, 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:

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

Key Learning Areas

This course provides a solid understanding of what Spring brings to the table and how to use Spring in the context of other technologies and frameworks. Students are taken on an in-depth tour of the basic Spring framework, initially examining concepts such as Inversion of Control and Dependency Injection, and then working with the container and basic components. They will examine the improved Spring 4.x configuration management options including XML, annotations, JavaConfig, and Spring Expression Language. The course then moves into the areas of persistence and transactions, looking at various options. Students will then look at options for handling the view portion of an MVC web architecture.

  • Explain the issues associated with complex frameworks such as JEE and how Spring addresses those issues
  • Understand the relationships between Spring and JEE, AOP, IOC, JDBC, Hibernate, JSF, Struts, JMS, and EJBs
  • Write applications that take advantage of the Spring container and the declarative nature of assembling simple components into applications
  • Understand how to configure the framework with XML, annotations and JavaConfig as well as explore the advantages of each option
  • Understand and work on integrating persistence into a Spring application.
  • Explain Spring's support for transactions and caching
  • Understand and work with various options for integrating view-oriented frameworks for web applications into Spring.
  • Work with Spring Boot to facilitate Spring setup and configuration

Course Outline

Introduction to Spring

  • The Spring Framework
  • Configuring Spring
  • Advanced Configuration
  • Annotation-based Configuration
  • Java-based Configuration
  • More Java-based Configuration

Persistence in Spring

  • Overview
  • Spring JDBC

Spring and the Web

  • MVC Overview

Advanced Topic

  • Introduction to Aspect Oriented Programming
  • Spring AOP

Spring Boot Overview

Who Benefits

This an intermediate level Spring 4.x 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.