This course teaches developers how to create enterprise applications using Spring Core and Spring Boot. Through hands-on exercises, you'll practice the main features of Spring Core including Java configuration, data access, web and REST applications, Spring Security, and Spring Boot. The course explores major features of Spring Boot, including auto-configuration, data access, Actuator, and more. 
Spring Core: Understanding the basic lightweight container 
Concept of light container of objects 
Beans, BeanFactory and ApplicationContext 
XML configurations and Spring Annotations 
Dependency resolution and injection techniques 
Life cycle of a Spring Bean 
Aspect Oriented Programming (AOP): Concepts and Vocabulary 
Spring AOP functionalities: Proxies, PointCuts, Advices, ... 
 
Spring Boot: Accelerating the development of applications 
Introduction to Spring Boot: Added value, principles  
Process of creating a Spring Boot Creation application with Initializr 
Spring Boot starters 
Structure of a Boot application 
Configuration of an application 
Spring Boot support in STS and in Intellij IDEA 
 
Spring Data: Access to relational databases 
Introduction to ORMs and to JPA specification 
JPA annotations and configurations 
The "Repository" design pattern and CRUD abstractions 
Spring Data JPA: CrudRepository and JpaRepository abstractions 
The query: JPQL, Query methods, Query DSL 
Transaction management: Isolation, Propagation and Rollback rules 
 
Spring Security: The security module 
Presentation of the Spring Security 
Authentication configuration: UserDetails and Authority Abstractions 
Configuration of authorization rules 
Understand the authorization principle based on claims 
Secure the invocation of object methods 
Implement the JWT standard for Stateless token-based authentication 
 
Spring Test: Unit and integration tests 
Spring support overview for "Test Driven Development" 
Unit tests with JUnit 4/5. The Arrange-Act-Assert pattern 
Mocking dependencies with Mockito. 
Unit tests of web components with @WebMvcTest 
Integration tests: objectives and implementation 
Integration tests with @SpringBootTest and @DataJPATest 
 
Spring Web: Developing web applications and REST resources 
Model-view-controller pattern in Spring MVC 
The DispatcherServlet. MVC controllers.  
Thymeleaf view engine 
Development of REST controllers with Spring MVC 
Data validation. Exception handling 
REST Development best practices 
REST clients with the RestTemplate 
 
Actuator : Application monitoring 
Actuator Overview and Capabilities 
Actuator Endpoints 
Spring Boot Actuator health 
Spring Boot Actuator metrics 
Implementing Custom Actuators  
Implementing Custom Health Checks 
 
		
			
				Java Developers, Java Application Architects 
			 
			
				Participants should be comfortable with Java language, syntax and object-oriented application development.  
 
They should be familiar with Java 8+.