Duration
4 Days
24 CPD hours
This course is intended for
Application developers who want to increase their understanding of Spring and Spring Boot with hands-on experience and a focus on fundamentals
Overview
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
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.
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
Spring JAVA Configuration: A Deeper Look
External properties & Property sources
Environment abstraction
Using bean profiles
Spring Expression Language (SpEL)
Annotation-based Dependency Injection
Component scanning
Autowiring using @Autowired
Java configuration versus annotations, mixing.
Lifecycle annotations: @PostConstruct and
@PreDestroy
Stereotypes and meta-annotations
Factory Pattern in Spring
Using Spring FactoryBeans
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
Aspect-oriented programming
What problems does AOP solve?
Defining pointcut expressions
Implementing various types of advice
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
Data Accss and JDBC with Spring
How Spring integrates with existing data access technologies
Data Access Exception hierarchy
Spring?s Jdbc Template
Database Transactions with Spring
Transactions overview
Transaction management with Spring
Transaction propagation and rollback rules
Transactions and integration testing
Spring Boot Introduction
Introduction to Spring Boot Features
Value Proposition of Spring Boot
Creating a simple Boot application using Spring
Initializer website
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
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
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
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
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
Actuators, Metrics and Health Indicators
Exposing Spring Boot Actuator endpoints
Custom Metrics
Health Indicators
Creating custom Health Indicators
External monitoring systems
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
Spring Security Oauth (Optional Topic)
OAuth 2 Overview
Implementing OAuth 2 using Spring Security OAuth
Reactive Applications with Spring (Optional Topic)
Overview of Reactive Programming concepts
Reactive Programming support in Spring
Using Spring?s reactive WebClient
Additional course details:Notes
Delivery by TDSynex, Exit Certified and New Horizons an VMware Authorised Training Centre (VATC)
Nexus Humans VMware Spring: Core Training training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward.
This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts.
Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success.
While we feel this is the best course for the VMware Spring: Core Training course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you.
Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.