Pivotal
EInnovator - Core Spring Training
EInnovator - Core Spring Training

Core Spring Course

Course Overview

Core Spring is Pivotal's official four-day flagship Spring Framework training. In this course, participants build a Spring-powered Java application that demonstrates the Spring Framework and other Spring technologies like Spring AOP and Spring Security in an intensely productive, hands-on setting.

Completion of this training prepares participants to take a certification exam and become a a Pivotal certified Spring Professional .

Course Format and Modes of Delivery

  • Four days of instructor-led training
  • 50% lecture, 50% hands-on lab
  • Corporate On-Site
  • Public

Target Audience

  • Developers
  • Architects

Prerequisites

  • Experience with developing applications using Java

Datasheet

Course Objectives

At the end of the training, you should have an understanding of Spring and associated technologies and be able to do the following:

  • Use the Spring Framework to develop Java applications.
  • Use dependency injection to set up and configure applications.
  • Test Spring-based applications.
  • Configure Spring applications using Java configuration, annotations, or XML.
  • Use JPA/Hibernate and JDBC with Spring to access relational databases.
  • Use Spring support for transactions.
  • Use aspect-oriented programming (AOP) to declaratively add behavior to applications.
  • Develop a basic Web application with Spring MVC.
  • Use Spring Security to secure Web applications.
  • Use Spring to easily build REST web services.
  • Use Spring to easily work with messaging APIs such as JMS.
  • Add management with the JMX API.

Course Modules

  • Spring Framework and Spring Ecosystem Overview
  • Dependeny-Injection Concept
  • ApplicationContext Abstraction and API
  • History and Evolution of Spring
  • Configuration Classes and Bean Factory Methods — @Configuration and @Bean annotations
  • Environment abstraction, Property Externalization
  • Bean Scopes — @Scope annotation
  • Bean Profiles and Conditional Beans
  • Spring Expression Language (SpEL)
  • Role of Proxies in Spring
  • Components and Auto-wiring — @Component, @Autowired annotations
  • Component Scan — @ComponentScan annotation
  • Life-Cycle Callbacks — @PostConstruct and @PreDestroy annotations
  • Stereotype Annotations — @Service, @Repository and other annotations
  • Beans XML Namespace
  • Resource prefixes
  • XML Simplification Techniques — Bean definition inheritance, Inner Beans
  • Other XML Namespaces
  • Factory Bean / Factory Method
  • Working with a high number of configuration files
  • XML vs. Java/Annotations Config
  • XML syntax, constructor & setter injection
  • XML profile selection
  • Phases in Bean Life-Cycle
  • Bean Definitions and Post-Processing — BeanFactoryPostProcessor, BeanPostProcessor
  • Running Phase – Proxy Power
  • Application Context Cleanup and Destruction Phase
  • Spring and Test Driven Development
  • Integration Testing with Spring and JUnit4 — @ContextConfiguration, @RunWith annotations
  • Test Methods Setup—@DirtiesContext
  • Bean Profiles in Testing
  • Testing Transactional Code — @Sql annotation
  • Understanding AOP
  • Spring AOP – Defining Aspects
  • Point-Cut Expressions
  • Types of Advices — @Around, @Before, @After
  • Overview of Data-Access in Spring Projects
  • Caching Module — @Cacheable annotation
  • Spring Data Repositories
  • JdbcTemplate API
  • Transactional Systems Review
  • Declarative Transaction Management – @Transactional annotation, and XML configuration
  • Isolation levels, transaction propagation and rollback rules
  • Transactions and Integration Testing
  • Introduction to JPA/ORM
  • JPA configuration in Spring
  • Implementing JPA Data-Access
  • Spring Data JPA dynamic repositories
  • Spring configuring in a Web Apps
  • Introduction to Spring MVC
  • Writing Controllers — @Controller, @RequestMapping
  • Controller method signatures
  • Views and ViewResolvers
  • Auto-Configuration with Spring Boot
  • Simplified dependency management
  • Overriding Boot default settings
  • Packaging options, and embedded containers
  • Configuration properties using YAML
  • Boot-driven testing
  • Spring Security Overview
  • Configuring authentication and intercepting URLs
  • Spring Security JSP tag library
  • Method-Level Security
  • The Spring Security filter chain
  • REST-WS Overview
  • Implementing REST with Spring MVC
  • Rest Controllers
  • Content Negotiation
  • Microservice Architectures
  • Cloud Native Apps
  • Using Spring Cloud