This repository contains my hands-on practice and exploration of Spring Core concepts while learning the Spring Framework.
Each folder demonstrates a specific concept with working examples and configuration files.
The goal of this repository is to understand Dependency Injection, Bean Lifecycle, Configuration styles, and different ways of managing objects using Spring IoC Container.
Basic understanding of:
- What is Spring Framework
- Why Spring is used
- Inversion of Control (IoC)
- Dependency Injection (DI)
- Spring Container
Folders:
IntroductionToSpring
Springdemo
SpringApplicationContext
Understanding how Spring creates and manages objects.
Concepts covered:
- Bean definition
- Object creation using XML
- Bean lifecycle basics
Folders:
SpringObjectCreation
Spring1
Injecting dependencies using setter methods.
Folder:
SpringSetterInjection
Injecting dependencies using constructors.
Folder:
SpringConstructorInjection
Learning how Spring handles interfaces and implementations.
Folder:
SpringCreatingInterface
Exploring different ways to retrieve beans from the container.
Examples:
getBean(String name)getBean(Class type)getBean(String, Class)
Folder:
Spring.getBeanWays
Understanding automatic dependency injection.
Concepts covered:
autowire="byName"autowire="byType"
Folder:
SpringAutowire
Learning annotation-based dependency injection.
Folder:
SpringAutowired
Understanding how Spring resolves multiple bean conflicts using @Primary.
Folder:
SpringAutowirePrimaryKeyword
Learning how Inner Beans restrict usage to only the outer bean.
Folder:
SpringInnerBean
Understanding how Spring creates beans only when required.
Folder:
SpringLazy-init
Understanding different scopes of Spring beans.
Examples:
- Singleton
- Prototype
Folder:
SpringScope
Understanding dependency injection using ref attribute.
Folder:
Springrefattribute
- Inversion of Control (IoC)
- Dependency Injection
- Bean Creation
- Bean Scope
- Setter Injection
- Constructor Injection
- Autowiring
- Inner Beans
- Lazy Initialization
- Bean References
- Java
- Spring Framework (Core)
- XML Configuration
- Maven
- IntelliJ IDEA / Eclipse
This repository is part of my journey to master Java backend development and Spring Framework fundamentals.
I will continue expanding this repository with:
- Annotation Based Configuration
- Java Based Configuration
- Spring Boot
- Spring MVC
- Spring Data JPA
Aryan Sohani
- Final Year Engineering Student
- Learning Java Backend Development
- Exploring the Spring Ecosystem
GitHub:
https://github.com/aryansohani