Course

ACTIVE Core Spring
4 days
Spring

Course Overview

Core Spring is Pivotal’s official four-day flagship Spring Framework training. In this course, participants build a Spring-powered Java application that demonstrates the Spring Framework and other Spring technologies like Spring AOP and Spring Security in an intensely productive, hands-on setting.

Completion of this training prepares participants to take a certification exam and become a Pivotal certified Spring Professional.

Course Objectives

At the end of the training, you should have an understanding of Spring and associated technologies and be able to do the following:

  • Use the Spring Framework to develop Java applications.
  • Use dependency injection to set up and configure applications.
  • Test Spring-based applications.
  • Configure Spring applications using Java configuration, annotations, or XML.
  • Use JPA/Hibernate and JDBC with Spring to access relational databases.
  • Use Spring support for transactions.
  • Use aspect-oriented programming (AOP) to declaratively add behavior to applications.
  • Develop a basic Web application with Spring MVC.
  • Use Spring Security to secure Web applications.
  • Use Spring to easily build REST web services.
  • Use Spring to easily work with messaging APIs such as JMS.
  • Add management with the JMX API.

Course Modules

1 Introduction to Spring

  • Spring Framework and Spring Ecosystem Overview
  • Dependeny-Injection Concept
  • ApplicationContext Abstraction and API
  • History and Evolution of Spring

2Dependency Injection --- Spring Java Config

  • Configuration Classes and Bean Factory Methods — @Configuration and @Bean annotations
  • Environment abstraction, Property Externalization
  • Bean Scopes — @Scope annotation
  • Bean Profiles and Conditional Beans
  • Spring Expression Language (SpEL)
  • Role of Proxies in Spring

3Dependency Injection --- Annotation-Driven

  • Components and Auto-wiring — @Component, @Autowired annotations
  • Component Scan — @ComponentScan annotation
  • Life-Cycle Callbacks — @PostConstruct and @PreDestroy annotations
  • Stereotype Annotations — @Service, @Repository and other annotations

4Bean Life-cycle --- Looking Inside

  • Phases in Bean Life-Cycle
  • Bean Definitions and Post-Processing — BeanFactoryPostProcessor, BeanPostProcessor
  • Running Phase — Proxy Power
  • Application Context Cleanup and Destruction Phase

5Testing Spring Applications

  • Spring and Test Driven Development
  • Integration Testing with Spring and JUnit4 — @ContextConfiguration, @RunWith annotations
  • Test Methods Setup—@DirtiesContext
  • Bean Profiles in Testing
  • Testing Transactional Code — @Sql annotation

6Aspect-Oriented Programming

  • Understanding AOP
  • Spring AOP — Defining Aspects
  • Point-Cut Expressions
  • Types of Advices — @Around, @Before, @After

7Data-Access with Spring & Spring JDBC

  • Overview of Data-Access in Spring Projects
  • Caching Module — @Cacheable annotation
  • Spring Data Repositories
  • JdbcTemplate API

8Spring Transaction Management

  • Transactional Systems Review
  • Declarative Transaction Management — @Transactional annotation, and XML configuration
  • Isolation levels, transaction propagation and rollback rules
  • Transactions and Integration Testing

9Spring Boot

  • Auto-Configuration with Spring Boot
  • Simplified dependency management
  • Overriding Boot default settings
  • Packaging options, and embedded containers
  • Configuration properties using YAML
  • Boot-driven testing

10JPA with Spring and Spring Data

  • Introduction to JPA/ORM
  • JPA configuration in Spring
  • Implementing JPA Data-Access
  • Spring Data JPA dynamic repositories

11Spring Web Development

  • Spring configuring in a Web Apps
  • Introduction to Spring MVC
  • Writing Controllers — @Controller, @RequestMapping
  • Controller method signatures
  • Views and ViewResolvers

12REST-WS with Spring

  • REST-WS Overview
  • Implementing REST with Spring MVC
  • Rest Controllers
  • Content Negotiation

13Spring Security

  • Spring Security Overview
  • Configuring authentication and intercepting URLs
  • Spring Security JSP tag library
  • Method-Level Security
  • The Spring Security filter chain

13Spring Boot Actuators

  • Monitoring with Boot Actuators
  • Metrics
  • Health Check

14OAuth2 with Spring Boot (Bonus)

  • OAuth2 Overview and Workflows
  • Setting-up a Authentication Server
  • Setting-up a Resource Server
  • Accessing secure endpoints in Client App

15Micro-Services with Spring Cloud (Bonus)

  • Microservice Architectures
  • Cloud Native Apps
  • Quick Intro to Spring Cloud
Comments and Discussion

Upcoming Events

Datasheet

Delivery

Course Format and Modes of Delivery

  • Four days of instructor-led training
  • 50% lecture, 50% hands-on lab
  • Corporate On-Site
  • Public

Target Audience

  • Developers
  • Architects

Prerequisites

  • Some experience with developing applications using Java