‹ Back To Training

Core Spring

Timeline: 4 Days

Prerequisites

  • Experience with developing enterprise Java applications.

Topics

Expand All › ‹ Collapse All

  • Java configuration and the Spring application context
  • @Configuration and @Bean annotations
  • @Import: working with multiple configuration files
  • Launching a Spring Application and obtaining Beans
  • External properties & Property sources
  • Environment abstraction
  • Bean scope, bean profiles
  • How it Works: Inheritance based proxies
  • Autowiring and component scanning
  • Java configuration versus annotations, mixing.
  • Lifecycle annotations: @PostConstruct and @PreDestroy
  • Stereotypes and meta-annotations
  • XML syntax, constructor & setter injection
  • Resource prefixes
  • Factory Bean / Factory Method
  • Namespaces and best practices when using
  • XML profile selection
  • Working with a high number of configuration files
  • Bean definition inheritance
  • The init phase: available interceptors
  • The init phase: what is the difference between XML, annotations and Java configuration?
  • What happens during bean post processing
  • The use and destruction phases
  • 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
  • What problems does AOP solve?
  • Differences between Spring AOP and AspectJ
  • Defining pointcut expressions
  • Implementing an advice: @Around, @Before, @After
  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using @Cacheable
  • jdbc namespace and Spring‘s JdbcTemplate
  • @Transactional annotation
  • Transactions configuration: XML versus annotations
  • Isolation levels, transaction propagation and rollback rules
  • Transactions and integration testing
  • Should you use read-only transactions?
  • Quick introduction to ORM with JPA
  • Benefits of using Spring with JPA
  • JPA configuration in Spring
  • Spring Data JPA dynamic repositories
  • Configuring Spring in a Web application (using Spring MVC, Struts, JSF…)
  • Introduction to Spring MVC, required configuration
  • Handler mapping method signatures
  • Views and ViewResolvers
  • Using @Controller and @RequestMapping annotations
  • 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
  • Using Spring Boot to bypass most configuration
  • Simplified dependency management with starter POMs
  • Packaging options, JAR or WAR
  • Easily overriding Spring Boot defaults
  • An introduction to the REST architectural style
  • Implementing REST with Spring MVC, @RequestBody, @ResponseBody
  • Spring MVC’s HttpMessageConverters and automatic content negotiation
  • Controlling HTTP status codes with @ResponseStatus
  • Introduction to the JMS API
  • Sending and receiving messages using the JmsTemplate
  • Asynchronous message handling with @JmsListener and Listener Containers