> > > CORE Detaillierte Beschreibung

Core Spring (CORE)

Kursbeschreibung Kurstermine Detaillierter Kursinhalt

Detaillierter Kursinhalt

1. Introduction to Spring

  • Java configuration and the Spring application context
  • @Configuration and @Bean annotations
  • @Import: working with multiple configuration files
  • Launching a Spring Application and obtaining Beans

2. Spring Java Configuration: A deeper look

  • External properties & Property sources
  • Environment abstraction
  • Bean scope, bean profiles
  • Spring Expression Language (SpEL)
  • How it Works: Inheritance based proxies

3. Annotation-based Dependency Injection

  • Autowiring and component scanning
  • Java configuration versus annotations, mixing.
  • Lifecycle annotations: @PostConstruct and @PreDestroy
  • Stereotypes and meta-annotations

4. XML Dependency Injection

  • XML syntax, constructor & setter injection
  • Resource prefixes
  • Namespaces and best practices when using XML
  • XML profile selection

5. The Bean Lifecycle: How does Spring work internally?

  • The init phase: available interceptors
  • The init phase: what is the difference between XML, annotations and Java configuration?
  • The use and destruction phases

6. Testing a Spring-based application

  • Spring and Test Driven Development
  • @ContextConfiguration and @RunWith annotations
  • Application context caching and the @DirtiesContext annotation
  • Profile selection with @ActiveProfiles
  • Easy test data setup with @Sql

7. Aspect-oriented programming

  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • Implementing an advice: @Around, @Before, @After

8. Data access and JDBC with Spring

  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using @Cacheable
  • jdbc namespace and Spring‘s JdbcTemplate

9. Database transactions with Spring

  • @Transactional annotation
  • Transactions configuration: XML versus annotations
  • Isolation levels, transaction propagation and rollback rules
  • Transactions and integration testing
  • Should you use read-only transactions?

10. JPA with Spring and Spring Data

  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • Spring Data JPA dynamic repositories

11. Spring in a web application

  • Configuring Spring in a Web application
  • Introduction to Spring MVC, required configuration
  • Controller method signatures
  • Views and ViewResolvers
  • Using @Controller and @RequestMapping annotations

12. Spring Boot

  • Using Spring Boot to bypass most configuration
  • Simplified dependency management with starter POMs
  • Packaging options, JAR or WAR
  • Easily overriding Spring Boot defaults

13. Spring Boot - Going further

  • Going beyond the default settings
  • Customizing Spring Boot configuration
  • Logging control
  • Configuration properties using YAML
  • Boot-driven testing

14. Spring security

  • What problems does Spring Security solve?
  • Configuring authentication and intercepting URLs
  • The Spring Security tag library for JSPs
  • Security at the method level
  • Customizing the Spring Security filter chain

15. Rest with Spring MVC

  • An introduction to the REST architectural style
  • Controlling HTTP response codes with @ResponseStatus
  • Implementing REST with Spring MVC, @RequestBody, @ResponseBody
  • Spring MVC’s HttpMessageConverters and automatic content negotiation

16. Microservices with Spring Cloud

  • Microservice Architectures
  • Challenges with cloud-native applications
  • Using Spring Cloud
  • Developing a simple microservice system