RKCP Information Technology




Spring
Home » Courses   » Spring 3 & 4

Spring

This training helps the participants to learn about Spring Introduction, Java Configuration, Dependency Injection, AOP, Database Transactions, JDBC & Spring Security in Spring Framework

Overview

Core Spring consists of four-day flagship Spring Framework and Spring Boot training. In this course students build a Spring-powered Java application with the help of Spring Framework and other related technologies like Spring Boot Spring Data Spring Security and micro-services in an intensely productive hands-on setting.

This course is very important for the Spring Professional certification exam. On successful completion of this training each student receive one free Spring Professional certification exam attempt.


Objective

At the end of the training, one is expected to be able to understand Spring and its associated technologies and would be able to do the following:

  • Use the Spring Framework to develop Java applications.
  • Use the Spring Boot shortcut for productivity.
  • Use dependency injection technique for setting up and configuring applications.
  • Test Spring-based applications.
  • Configure the Spring applications using Java configuration, annotations, or XML.
  • Use Spring Data, JPA and JDBC to rapidly implement relational database access.
  • Use Spring support in transactions.
  • Use aspect-oriented programming (AOP) to declaratively add behaviors to applications.
  • Develop a basic Web application which follows Spring MVC.
  • Use Spring Security to secure the Web applications.
  • Use Spring to easily build REST web services.
  • Start a journey to Microservices and Cloud Native Applications.

Total duration - 4 Days


Prerequisites

A prior experience Applications using Java is preferred


Syllabus

Expand All
  • 1. INTRODUCTION TO SPRING
    • Configuration of Java and the Spring application context
    • @Configuration and @Bean annotations
    • @Import: used to work with multiple configuration files
    • Launch Spring Application and obtaining Beans
  • 2. SPRING JAVA CONFIGURATION: A DEEPER LOOK
    • External properties & Property sources
    • Abstraction of Environment
    • Bean scope and bean profiles
    • Spring Expression Language (SpEL)
    • How it Works: Proxies based on Inheritance
  • 3. ANNOTATION-BASED DEPENDENCY INJECTION
    • Auto-wiring and component scanning
    • Java configuration versus annotations and mixing.
    • Life-cycle 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 SPRING WORKS 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 using the annotation @ActiveProfiles
    • Easy test data setup using @Sql
  • 7. ASPECT-ORIENTED PROGRAMMING
    • What problem does AOP solve?
    • Difference between Spring AOP and AspectJ
    • Defining the pointcut expressions
    • Implementing an advice: @Around, @Before, @After
  • 8. DATA ACCESS AND JDBC WITH SPRING
    • How Spring integrates with all the existing data access technologies
    • Hierarchy of DataAccessException
    • Implementing caching using annotation @Cacheable
    • JDBC namespace and Spring‘s JdbcTemplate
  • 9. DATABASE TRANSACTIONS WITH SPRING
    • @Transactional annotation
    • Transaction configuration: XML versus annotations
    • Isolation levels, transaction propagation and rollback rules
    • Transactions and integration testing
    • Should only read-only transactions be used?
  • 10. JPA WITH SPRING AND SPRING DATA
    • Quick introduction of ORM with JPA
    • Benefits of using Spring with JPA
    • JPA configuration in Spring
    • Spring Data to JPA dynamic repositories
  • 11. SPRING IN A WEB APPLICATION
    • Configuring Spring in a Web application
    • Introduction to Spring MVC, with required configurations
    • Controller method signatures
    • Views and ViewResolvers
    • Using @Controller and @RequestMapping annotations
  • 12. SPRING BOOT
    • Using Spring Boot to bypass most configurations
    • Simplified dependency management with starter POMs
    • Packaging options, JAR or WAR
    • Easy overriding of Spring Boot defaults
  • 13. SPRING BOOT - GOING FURTHER
    • Going beyond the default settings
    • Customizing Spring Boot configurations
    • Logging control
    • Configuration properties using YAML
    • Boot-driven testing
  • 14. SPRING SECURITY
    • What problems are solved by Spring Security?
    • 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 architecture style
    • Controlling HTTP response codes with @ResponseStatus annotation
    • Implementing REST with Spring MVC, @RequestBody, @ResponseBody annotations
    • Spring MVC’s HttpMessageConverters and automatic content negotiation
  • 16. MICROSERVICES WITH SPRING CLOUD
    • Micro-service Architectures
    • Challenges faced with cloud-native applications
    • Using Spring Cloud
    • Developing a simple micro-service system