Introduction to Spring
- The Java configuration and the Spring container
- Annotations @Configuration, @Bean, @Import
- The notion of scope
- Launch a Spring app and get our beans
Spring configuration in Java: in more detail
- Outsourcing of properties, Property Sources
- The notion of Environment
- The notion of bean profile
- Spring Expression Language (SpEL)
- The operation of proxies by inheritance
The Spring configuration by annotations
- Injection and auto-discovery of components
- Java configuration or auto-discovery: when to use them?
- Annotations of the life cycle: @PostConstruct, @PreDestroy
- Annotations stereotypes, meta-annotations
- Factories (design pattern): FactoryBeans
Advanced: Spring Container Operation
- The life cycle of a Spring component
- Post-processors: BeanFactoryPostProcessor, BeanPostProcessor
- Proxies
- The typing of @Bean methods
Test a Spring application
- Spring and TDD (Test Driven Development)
- Quick presentation of JUnit 5
- Spring 5 integration tests with JUnit 5
- Application context caching and @DirtiesContext annotation
- Selection of profiles with @ActiveProfiles
- Easy implementation of data access tests with @SQL
Aspect Oriented Programming (AOP)
- What are the issues resolved by the AOP?
- Difference between spring AOP and AspectJ
- Define aspects with @Around, @Before, @After
Data access and JDBC with Spring
- How Spring integrates with existing data access technologies
- The DataAccessException exception hierarchy
- Caching with @Cacheable
- Facilitate testing with embedded databases Spring's JdbcTemplate
Transaction management with Spring
- The concept of transaction
- Implementation of transactions with Spring
- Insulation levels; strategies for spreading and backtracking transactions
- Transactions in integration tests
JPA with Spring and Spring Data
- Quick introduction to ORM with JPA
- Use JPA with Spring: the benefits
- The implementation of JPA with Spring
Spring Boot
- Minimize configuration with Spring Boot
- Simplify dependency management with starter POMs
- Redefine the default configurations of Spring Boot in a simple way
Spring JPA - Advanced
- Configure Spring JPA with Spring Boot
- Spring Data JPA: the automatic implementation of data access (dynamic repositories)
Spring in a web application
- Configure Spring in a web application
- Introduction to Spring MVC and Necessary Components
- Signing methods on controllers
- Views: Views and ViewResolvers
- Annotations @Controller, @RequestMapping
- Spring MVC configuration with Spring Boot
- Creation of a deliverable with Spring Boot: JAR or WAR?
Spring Boot - Advanced (Optional)
- Go beyond the default setting
- Fine customization of Spring Boot configuration
- Setting the log system
- Properties in YAML format
- Spring Boot Tests
Spring Security
- What are the issues resolved by Spring Security?
- Configure authentication and intercept URLs
- Spring Security server side support
- Security at the method level
- Understand the Spring Security filter chain
REST with Spring MVC
- Introduction to REST architecture
- Control HTTP return codes with @ResponseStatus
- Implement REST with Spring MVC and annotations @RequestBody, @ResponseBody
- Automatic content negotiation and HTTP message converters (HttpMessageConverter)
Introduction - Microservices with Spring Cloud (Optional)
- The benefits of a microservice oriented architecture
- New challenges of cloud applications
- Use Spring Cloud
- Develop a simple system with microservices
Introduction - Reactive applications with Spring (Optional)
- The concepts of reactive programming
- Reactive programming support with Spring
- Implement Spring's Reactive WebClient
Dernière mise à jour : le 04/05/2024 à 13:05