Spring framework, developed by Rod Johnson in 2003, is the most popular application development framework for enterprise Java. Spring helps write high-performing, easily testable, and reusable code and promotes programming best practices by enabling a POJO-based model on top of dependency injection (DI).
The Spring framework is, in fact, a collection of sub-modules. Each module supports a specific kind of functionality that we can enable in our application by importing that module and overriding specific configurations. A few such modules are Spring AOP, Spring Batch or Spring MVC.
1. Introduction
2. DI and IoC
- Inversion of Control vs Dependency Injection
- Spring IoC Containers
- Spring Bean Annotation Configuration
- Spring Bean XML Configuration
- @Lookup Method Injection
3. Bean Lifecycle and Events
- Spring Bean Life Cycle
- Spring Bean Scopes
- Singleton Beans with Prototype-bean Dependencies
- Spring Bean Autowire by Constructor
- Spring Bean Autowire ByName
- Spring Bean Autowire ByType
- Spring BeanPostProcessor Example
- Spring FactoryBean Example
- Spring Static Factory-Method example
- Spring Application Events
4. Spring Annotations
- Spring Annotations
- Spring @Configuration annotation example
- Spring @Component, @Controller, @Repository and @Service
- Spring @GetMapping and @PostMapping
- Spring @Required Annotation
- Spring @Autowired
- Spring @Lazy Loading
- Spring @PathVariable and @RequestParam
5. Resources and i18n
- Spring ResourceLoaderAware – Read a File in Spring
- Spring i18n ResourceBundleMessageSource
- Spring 3 Internationalization (i18n) Support Example
6. Task Scheduling
7. Exception Handling
- Spring @ExceptionHandler – Multiple exceptions and global handler
- [Solved] java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
8. Advance Topics
- Spring 5 New Features and Enhancements
- Spring Property Editor – CustomEditorConfigurer Example
- Spring – Send email with JavaMailSender
- Spring util:constant to refer final static field references
- Spring version-less schema for latest version
- Spring Interview Questions with Answers
- Spring RestClient (with Examples)
9. Spring Sub-Topics
Spring has grown into several focused sub-projects. Each one below has its own dedicated guide; the smaller topics that do not yet have one are listed directly.
9.1. Spring MVC
See the full Spring MVC Tutorials for all tutorials in this area.
9.2. Spring AOP
See the full Spring AOP Tutorial for all tutorials in this area.
9.3. Spring Data JPA
See the full JPA Tutorials for all tutorials in this area.
9.4. Spring Batch
See the full Spring Batch Tutorial for all tutorials in this area.
9.5. Spring Cloud
See the full Spring Cloud Features and Components for all tutorials in this area.
9.6. Spring Security
See the full Spring Security Tutorial for all tutorials in this area.
9.7. Spring WebFlux
See the full Spring WebFlux Tutorial for all tutorials in this area.
9.8. Spring Core: Beans, DI and Lifecycle
- Spring IoC Container: BeanFactory and ApplicationContext
- IoC vs DI in Spring: Key Differences With Examples
- Spring Bean Scopes
- Spring Bean Life Cycle in Spring Boot: Phases and Order
- Spring Bean Life Cycle: Callbacks, Order and Diagram
- Spring BeanPostProcessor Example
- Spring Autowiring: @Autowired, @Qualifier and @Primary
- Spring Bean Autowire ‘byName’ Example
- Spring Bean Autowire ‘byType’ Example
- Spring Bean Autowire by Constructor
- Spring @Lookup Method Injection
- Spring: Injecting Prototype Bean into Singleton Bean
- Spring FactoryBean with Example
- Spring Static Factory-Method Example
- Spring Stereotype Annotations with Examples
- Spring @Configuration Annotation Example
- Spring Annotations List
- Spring @ExceptionHandler vs @ControllerAdvice with Examples
- Spring Application Events and @EventListener Example
- Spring MVC Interceptor Example – XML and Annotation Java Config
- Spring: Reading an Internal or External Resource
- Spring ResourceBundleMessageSource Example with Spring Boot
- Sending Emails using Spring JavaMailSender
- Spring 3: Timer Tasks
- Spring Framework 7: What’s New, Features and Examples
- [Solved] ClassNotFoundException: ContextLoaderListener
9.9. Spring Data Access: NoSQL, Redis and JDBC
- Getting Started with Spring Boot Data and MongoDB
- Guide to Cassandra with Spring Boot
- Elasticsearch with Spring Data and Spring Boot 3
- Redis Pub/Sub with Spring Boot Data
- Stream Processing with Redis and Spring Boot Data
- Spring Boot Redis with Lettuce vs Jedis: Setup and Pooling
- Spring 6 JdbcClient: When and How to Use it?
- Spring CrudRepository and ListCrudRepository Examples
- Spring Data ‘LIKE’ Query with JdbcClient or JpaRepository
- Spring AbstractRoutingDataSource Example
- Spring Boot Pagination and Sorting Example
- Tracking @Entity Creation and Updation Timestamps
- Using SQL Scripts with Spring JDBC + JPA + HSQLDB
9.10. Microservices Concepts
- Spring Boot Microservices Tutorial (Spring Boot 4 Example)
- Microservices – Definition, Principles and Benefits
- Difference between SOAP and REST
Happy Learning !!