VMware Spring: Core Training
Duration
4 Days (32 Hours)
Price
$1.00
This course offers hands-on experience with the major features of Spring and Spring Boot, which includes configuration, data access, REST, AOP, auto-configuration, actuator, security, and Spring testing framework to build enterprise and microservices applications. On completion, participants will have a foundation for creating enterprise and cloud-ready applications.
Learning Objectives
By the end of the course, you should be able to meet the following objectives:
- Spring configuration using Java Configuration and Annotations
- Aspect oriented programming with Spring
- Testing Spring applications using JUnit 5
- Spring Data Access - JDBC, JPA and Spring Data
- Spring Transaction Management
- Simplifying application development with Spring Boot
- Spring Boot auto-configuration, starters and properties
- Build a simple REST application using Spring Boot, embedded Web Server and fat JARs or classic WARs
- Implementing REST client applications using RestTemplate and WebClient
- Spring Security
- Enable and extend metrics and monitoring capabilities using Spring Boot actuator
- Utilize Spring Boot enhancements to testing
-
-
-
Course Outline
1 - Introduction to Spring
- Java configuration and the Spring application
- context
- @Configuration and @Bean annotations
- @Import: working with multiple configuration files
- Defining bean scopes
- Launching a Spring Application and obtaining Beans
2 - Spring JAVA Configuration: A Deeper Look
- External properties & Property sources
- Environment abstraction
- Using bean profiles
- Spring Expression Language (SpEL)
3 - Annotation-based Dependency Injection
- Component scanning
- Autowiring using @Autowired
- Java configuration versus annotations, mixing.
- Lifecycle annotations: @PostConstruct and
- @PreDestroy
- Stereotypes and meta-annotations
4 - Factory Pattern in Spring
- Using Spring FactoryBeans
5 - Advanced Spring: How Does Spring Work Internally?
- The Spring Bean Lifecycle
- The BeanFactoryPostProcessor interception point
- The BeanPostProcessor interception point
- Spring Bean Proxies
- @Bean method return types
6 - Aspect-oriented programming
- What problems does AOP solve?
- Defining pointcut expressions
- Implementing various types of advice
7 - Testing a Spring-based Application
- Spring and Test-Driven Development
- Spring 5 integration testing with JUnit 5
- Application context caching and the @Dirties Context annotation
- Profile selection with @Active Profiles
- Easy test data setup with @Sql
8 - Data Accss and JDBC with Spring
- How Spring integrates with existing data access technologies
- Data Access Exception hierarchy
- Spring‘s Jdbc Template
9 - Database Transactions with Spring
- Transactions overview
- Transaction management with Spring
- Transaction propagation and rollback rules
- Transactions and integration testing
10 - Spring Boot Introduction
- Introduction to Spring Boot Features
- Value Proposition of Spring Boot
- Creating a simple Boot application using Spring
- Initializer website
11 - Spring Boot Dependencies, Auto-configuration, and Runtime
- Dependency management using Spring Boot starters
- How auto-configuration works
- Configuration properties
- Overriding auto-configuration
- Using Command Line Runner
12 - JPA with Spring and Spring Data
- Quick introduction to ORM with JPA
- Benefits of using Spring with JPA
- JPA configuration in Spring
- Configuring Spring JPA using Spring Boot
- Spring Data JPA dynamic repositories
13 - Spring MVC Architecture and Overview
- Introduction to Spring MVC and request processing
- Controller method signatures
- Using @Controller, @RestController and
- @GetMapping annotations
- Configuring Spring MVC with Spring Boot
- Spring Boot packaging options, JAR or WAR
14 - Rest with Spring MVC
- An introduction to the REST architectural style
- Controlling HTTP response codes with @ResponseStatus
- Implementing REST with Spring MVC,
- @RequestMapping, @RequestBody and
- @ResponseBody
- Spring MVC’s HttpMessageConverters and
- automatic content negotiation
15 - Spring Security
- What problems does Spring Security solve?
- Configuring authentication
- Implementing authorization by intercepting URLs
- Authorization at the Java method level
- Understanding the Spring Security filter chain
- Spring security testing
16 - Actuators, Metrics and Health Indicators
- Exposing Spring Boot Actuator endpoints
- Custom Metrics
- Health Indicators
- Creating custom Health Indicators
- External monitoring systems
17 - Spring Boot Testing Enhancements
- Spring Boot testing overview
- Integration testing using @SpringBootTest
- Web slice testing with MockMvc framework
- Slices to test different layers of the application
18 - Spring Security Oauth (Optional Topic)
- OAuth 2 Overview
- Implementing OAuth 2 using Spring Security OAuth
19 - Reactive Applications with Spring (Optional Topic)
- Overview of Reactive Programming concepts
- Reactive Programming support in Spring
- Using Spring’s reactive WebClient
Target Audience
Application developers who want to increase their understanding of Spring and Spring Boot with hands-on experience and a focus on fundamentals