Course Outline


Participants must have some background knowledge of Java, Object Oriented Programming and Web Application technologies


By the end of this course, participants will have a good hold on development patterns with Spring 4

Course Duration

2-3 days

Lab Setup

All participants must have access to a laptop with Internet connectivity

Course Outline

Getting Started
  • Dependency Management with Gradle (and Maven)
  • Setting up Eclipse
  • Hello World from the command line
  • Hello World from Eclipse
Spring Framework
  • Overview of Spring Projects
  • Dependency Injection concepts
  • Inversion of Control (IOC)
  • Dependency Injection
IoC Container
  • Overview of IoC container and Beans
  • Types of dependency injection
  • XML Based and Annotation Based
  • Bean Scopes
  • Bean Life Cycle
  • Types of Dependency Injection (and what is supported)
  • Autowiring and Autowiring modes
  • Spring Context Events
Spring – Overview of Some Components
  • Aspect Oriented Programming with Spring
    • PointCut
    • Advices
    • Caching in Spring – a case study of AOP
  • Unit Testing in Spring
    • Using Mock Objects
    • Mockito
Spring Boot
  • Use of the Spring Boot CLI
  • Creating a simple application
  • Using Embedded Servers
  • Building REST APIs
  • Integrating tests
  • Spring Boot Actuator
  • Integrating Thymeleaf templates
  • Integrating Security
  • Integrating a remote shell
Relational Database Design and ORM Issues
  • Understanding ER design and Object Modeling
  • Comparing relational database design to Object Modeling
  • Types of relationships
  • Database storage structures
  • Need for indexes to increase efficiency
  • Object Relational Mapping
  • Impedance mismatch in OR Mapping
  • Expectations from an ORM framework
Spring – Data Access
  • Spring Transaction Management with the Data Layer
    • Begin a transaction
    • Commit
    • Rolling back for specific exceptions
  • DAO with Spring
  • JDBC with Spring
  • Spring ORM and integration with Hibernate
  • Spring OXM
  • Support for other NoSQL stores (Spring Data JPA)
Spring – Security
  • Authentication and Authorization
  • Building a custom authentication manager
  • Authorities
Spring – MVC
  • The DispatcherServlet
  • Implementing Controllers
  • RequestMapping
  • Resolving Views
  • Using Security with Spring MVC

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.