Course Overview The Spring Framework is the leading Java EE solution for enterprise software. The Core Spring course covers Spring from Version 4 upwards, currently delivered using Version 5. The course comprises sessions dealing with Dependency Injection (DI); Aspect Oriented Programming, (AOP); Spring Web including MVC, REST, and WebSocket; Spring Data including JDBC, ORM, and Transaction Management; Spring Security; and Spring Boot. It also includes an introduction to Reactive Programming, Spring WebFlux, and Spring Cloud. Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered. The delegate will learn and acquire skills as follows: • Obtaining Spring…
SHOW MORE Course Overview
The Spring Framework is the leading Java EE solution for enterprise software.
The Core Spring course covers Spring from Version 4 upwards, currently delivered using Version 5. The course comprises sessions dealing with Dependency Injection (DI); Aspect Oriented Programming, (AOP); Spring Web including MVC, REST, and WebSocket; Spring Data including JDBC, ORM, and Transaction Management; Spring Security; and Spring Boot. It also includes an introduction to Reactive Programming, Spring WebFlux, and Spring Cloud.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.
The delegate will learn and acquire skills as follows:
• Obtaining Spring Beans using DI
• Implementing cross-cutting concerns using AOP
• Building a Spring MVC web app
• Building a REST API with Spring MVC
• Building a WebSocket service
• Using a JDBC Template
• Integrating a Spring app with Hibernate and JPA
• Transaction Management
• User authentication
• URL and method-level authorization
• Building a simple Spring Boot app
Who will the Course Benefit?
The Core Spring course will benefit Java developers who are new to Spring and want to develop large and complex enterprise-level applications.
Course Objectives
This course aims to provide the delegate with the knowledge to be able to develop (or contribute to the development of) a Spring web app which exposes a RESTful API and that both reads and writes data to/from persistent storage. The web app should be secure insofar as it authenticates users, and restricts access. The delegate should also be aware of Spring Boot, Reactive Programming, Spring WebFlux, and Spring Cloud.
Requirements
Delegates attending this course should be competent Java developers able to build simple applications that exploit APIs including Collections, IO, and JDBC. Delegates would also benefit from having some previous experience with Servlets and JSP (or equivalent technology).
This knowledge can be obtained by attendance on the pre-requisite Java Programming 2 and Developing Applications with Java EE courses.
Pre-Requisite Courses
• Java Programming 2
• Developing Applications with Java EE
Notes:
• Course technical content is subject to change without notice.
• Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
Course Contents
DAY 1
Course Introduction
• Administration and Course Materials
• Course Structure and Agenda
• Delegate and Trainer Introductions
Session 1: INTRODUCTION TO SPRING
• What is Spring
• Introduction to Dependency Injection
• Introduction to Aspect Oriented Programming
• Introduction to Templates
• Application Context
• The Lifecycle of a Spring Bean
• Spring Modules (Projects)
• What’s new in Spring 5.0
Session 2: DEPENDENCY INJECTION (DI)
• DI configuration options
• DI with XML
• DI with Java
• Autowiring (DI with Annotations)
• Importing and Mixing Configurations
• Environments and Profiles
• Conditional Beans
• Bean Scope
• Spring Expression Language (SpEL)
Session 3: ASPECT ORIENTED PROGRAMMING (AOP)
• Terminology
• Aspects with XML
• Aspects with Annotations
• AspectJ
DAY 2
Session 4: SPRING MVC
• The Lifecycle of a Request
• Spring Controllers
• Request Parameters
• Form Processing
• View Resolution
• Views: JSP, Thymeleaf et al.
Session 5: REST
• REST Endpoints with Spring MVC
• HTTP Message Converters
• Errors and Headers
• Consuming REST Resources using RestTemplate
Session 6: WEBSOCKET
• WebSocket Handlers
• Configuration with Java
• Configuration with XML
Session 7: INTRODUCTION TO SPRING WEBFLUX (V5 ONLY)
• Introduction to Reactive Programming
• HTTP, Web, and Dispatcher Handlers
• Annotated Controllers
• Functional Endpoints
• and more…
DAY 3
Session 8: SPRING DATA SOURCES
• Embedded Data Source (for development and testing)
• JDBC Driver
• Connection Pool
• JNDI
• Profiles
Session 9: JDBC
• JDBC Templates
• Using a JDBC Template with Lambdas
• Named Parameters
Session 10: ORM
• Integrating Hibernate with Spring
• Application-managed JPA
• Container-managed JPA
Session 11: TRANSACTIONS
• Transaction Strategy
• Synchronizing Resources
• Declarative Transaction Management
• Programmatic Transaction Management
DAY 4
Session 12: SPRING SECURITY
• User Details Services
• Authentication
• Authorization (URL Interception)
• JSP Security Tag Library
• Method-level Security
• Filter Chain
Session 13: SPRING BOOT
• Starter Dependencies
• Autoconfiguration/li>
• CLI
• Actuator
• Spring Boot Applications
Session 14: INTRODUCTION TO SPRING CLOUD
• Microservice Architecture
• Service Registration
• Load Balancing
• and more…