trainocate-advanced-technology-courses-b

CORE-SPRING - Core Spring Training Courses

Overview

Duration: 4 days

This course offers hands-on experience with Spring and its major features, including configuration, data access, web and REST applications, Spring Boot, Spring Security and using Spring Cloud to build a small microservices application. On completion, participants will have a foundation for creating enterprise-ready applications.

Objectives

  • Spring configuration using Java Configuration and Annotations 
  • Aspect oriented programming with Spring 
  • Testing Spring applications using JUnit 5 
  • Spring Data Access – JDBC, JPA and Spring Data 
  • Spring Transaction Management 
  • Simplifying applications with Spring Boot 
  • Spring Boot auto-configuration, starters and properties 
  • Build a simple MVC application using Spring Boot, embedded Web Server and fat JARs or classic WARs 
  • Implementing REST with Spring MVC and RestTemplate 
  • Spring Security 
  • Enable and extend metrics and monitoring capabilities using Spring Boot actuator 
  • Utilize Spring Boot enhancements to testing

Content

MODULE 1: INTRODUCTION TO SPRING 

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

MODULE 2: SPRING JAVA CONFIGURATION: A DEEPER LOOK 

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

MODULE 3: ANNOTATION-BASED DEPENDENCY INJECTION 

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

MODULE 4: FACTORY PATTERN IN SPRING 

  • Using Spring FactoryBeans

MODULE 5: ADVANCED SPRING: HOW DOES SPRING WORK INTERNALLY? The Spring Bean Lifecycle 

  • The BeanFactoryPostProcessor interception point 
  • The BeanPostProcessor interception point 
  • Spring Bean Proxies 
  • @Bean method return types

MODULE 6: ASPECT-ORIENTED PROGRAMMING 

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

MODULE 7: TESTING A SPRING-BASED APPLICATION 

  • Spring and Test Driven Development 
  • Spring 5 integration testing with JUnit 5 
  • Application context caching and the @DirtiesContext annotation •Profile selection with @ActiveProfiles 
  • Easy test data setup with @Sql

MODULE 8: DATA ACCESS AND JDBC WITH SPRING 

  • How Spring integrates with existing data access technologies
  • DataAccessException hierarchy
  • Implementing caching using @Cacheable Embedded databases for testing 
  • Spring‘s JdbcTemplate

MODULE 9: DATABASE TRANSACTIONS WITH SPRING 

  • Transactions overview 
  • Transaction management with Spring 
  • Isolation levels, transaction propagation and rollback rules 
  • Transactions and integration testing

MODULE 10: SPRING BOOT INTRODUCTION 

  • Introduction to Spring Boot 
  • Value Proposition of Spring Boot 
  • Creating a simple Boot application using Spring Initializer web-site

MODULE 11: SPRING BOOT DEPENDENCIES, AUTO-CONFIGURATION AND RUNTIME 

  • Dependency management using Spring Boot starters 
  • How auto-configuration works 
  • Configuration properties 
  • Overriding auto-configuration 
  • Using CommandLineRunner

MODULE 12: JPA WITH SPRING AND SPRING DATA 

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

MODULE 13: SPRING MVC ARCHITECTURE AND OVERVIEW 

  • Introduction to Spring MVC and request processing 
  • Controller method signatures 
  • Using @Controller, @RestController and @GetMapping annotations 
  • Configuring Spring MVC with Spring Boot 
  • Spring Boot packaging options, JAR or WAR

MODULE 14: REST WITH SPRING MVC 

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

MODULE 15: SPRING SECURITY 

  • What problems does Spring Security solve?
  • Configuring authentication 
  • Implementing authorization by intercepting URLs 
  • Authorization at the Java method level 
  • Understanding the Spring Security filter chain

MODULE 16: ACTUATORS, METRICS AND HEALTH INDICATORS 

  • Enabling Spring Boot Actuator 
  • Custom Metrics 
  • Health Indicators 
  • Creating custom Health Indicators 
  • External monitoring systems

MODULE 17: SPRING BOOT TESTING ENHANCEMENTS 

  • Spring Boot testing overview 
  • Integration testing and slices 
  • Slices to test different layers of the application

Audience

Application developers who want to increase their understanding of Spring with hands-on experience and a focus on fundamentals.

Prerequisites

Good understanding of web-application development using Java, an IDE (Eclipse, STS or IntelliJ) and a Servlet engine such as Tomcat or Jetty, specific Java concepts (annotations and lambdas) and dependency management using Maven or Gradle.

Certification

Trainocate Certificate of Attendance

Schedule

Show Schedule for: