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+.