Spring Framework

Spring framework provides a comprehensive programming and configuration model for modern java based enterprise applications - on any kind of deployment platform. It was developed by Rod Johnson in 2003. A key element of spring is infrastructural support at the application level : Spring focuses on the plumbing of enterprise applications so that teams can focus on application level business logic,without unnecessary ties to specific deployment environments. Spring is a lightweight framework and provides additional features and functionalities like Dependency Injection , Inversion of Control, Aspect Oriented Programming etc. Spring offers its compatibility to various applications with extra frameworks like Spring Jdbc, Spring Batch, Spring Security etc

Curriculum

  1. Setup of environment
  2. Overview of spring
  3. Necessity of Frameworks
  4. What we mean by “SPRING”?
  5. History of Spring Framework
  6. Layers of Spring Framework
  7. Elements of each layer
  1. Spring beans and its scopes
  2. Spring bean lifecycle
  3. How to create a bean using FactoryBean?
  4. How to create a bean using static FactoryBean?
  5. Spring Bean autowire and its types
  6. Load external resources into spring context
  7. Best Practices of spring Framework
  8. Spring Dependency Injection
  9. Spring IOC container
  10. Annotations of Spring Core (@Bean, @Component, @ComponentScan, @Primary, @Qualifier,@Lookup ,@Async and @Configuartion)
  11. Injecting Prototype bean into Singleton Bean Problem
  12. Internationalization (i18n)
  13. Programmatic Bean registration
  14. Spring Java Configuration vs XML configuration
  1. Advantages of MVC architecture
  2. Spring MVC Architecture with its elemental flow
  3. Dispatcher Servlet and its importance
  4. Handler Mapping and its types
  5. Controllers and its types
  6. Web Services (REST and SOAP) and its importance in daily life
  7. REST request and response handling with spring
  8. View resolver and its types
  9. Form Handling in spring
  10. Spring with JSON
  11. Spring with XML
  12. Spring Excel integration (Spring AbstractExcelView and POI)
  13. Spring PDF Integration (Spring AbstractPDFView and iText)
  14. Logging Frameworks and their importance
  15. Spring Log4j Integration
  16. Internationalization (i18n) and Localization (i10n) in Spring
  17. File Upload and Download in Spring
  1. Introduction of Spring AOP
  2. Best uses cases of AOP
  3. @Before Advice
  4. AOP - Pointcut Expressions
  5. AOP – Pointcut declarations
  6. AOP Ordering Aspects
  7. AOP – Join points
  8. @AfterReturing Advice
  9. @AfterThrowing Advice
  10. @After advice
  11. @Around advice
  12. Adding Logging in Spring using AOP
  1. Basics of SQL
  2. Introduction to ORM Tools
  3. What is Hibernate?
  4. How is Hibernate different from Traditional Practices?
  5. Setting up Hibernate Development Environment
  6. Hibernate Configuration with Annotations
  7. 1st level Cache and 2nd level Cache
  8. CRUD in Hibernate
  9. Necessity of Advanced mapping
  10. @OneToOne
  11. @OneToMany
  12. @ManyToOne
  13. @ManyToMany
  14. Eager vs Lazy loading
  15. Criteria Queries
  16. Native Queries in Spring
  17. Transaction Management in Spring
  18. Javax transactional vs Spring transactional
  1. Introduction to Spring Boot
  2. Why Spring Boot is so famous?
  3. Pros and cons of Spring Boot
  4. Additional features of Spring Boot over Spring
  5. How auto configuration works?
  6. Spring Boot DevTools
  7. Spring Boot Actuator
  8. Spring Boot CLI commands
  9. How Internal development Server is useful?
  10. Role of application.properties
  11. Introduction of Micro services architecture using Spring Boot
  1. Introduction to Spring JPA
  2. Introduction to Spring Data JPA
  3. CRUD Repository
  4. JPA Repository
  5. Pagination and Sorting Repository
  6. @Query
  7. @Param
  8. Named Queries
  9. JPA Criteria API
  10. Query DSL
  11. @Transactional
  12. @Repository
  13. CRUD using Spring Data JPA
  1. Spring Rest Introduction
  2. Marshalling and UnMarshalling
  3. Spring @RestController
  4. @RequestParam
  5. @PathVariable
  6. @RequestMapping
  7. Different Methods in REST
  8. Swagger UI
  9. CORS,XSRF and security
  10. Query DSL
  11. @Transactional
  12. @Repository
  13. CRUD using Spring Data JPA
  14. @ContrllerAdvice
  15. Json Annotations
  16. JWT and other types of authentications