Core Spring Course
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
- Experience with developing applications using Java
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.
- 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