This repository hosts a collection of exercises and mini-projects focused on learning Spring Core concepts. It covers a range of topics including Spring Bean Scopes, Component Lifecycle Annotations, Loose Coupling, Dependency Injection, Jakarta CDI-based Dependency Injection, Lazy and Eager Initialization, Spring Context, and XML-based Bean Configuration. Each directory contains examples and exercises that provide hands-on experience with these Spring Core concepts, promoting a comprehensive understanding of Spring framework fundamentals.
- Loose Coupling: Dive into exercises that emphasize loose coupling concepts.
- Spring Context: Gain insights into Spring application context.
- Dependency Injection: Practice dependency injection in Spring.
- Lazy and Eager Initialization: Discover the nuances of lazy and eager bean initialization.
- Bean Scopes: Learn about different Spring bean scopes.
- Component Lifecycle: Understand the lifecycle annotations for Spring components.
- Jakarta CDI: Explore dependency injection using Jakarta CDI.
- XML Configuration: Learn XML-based bean configuration.
-
To run the projects, you'll need to have Java installed on your machine. You can download Java from the official website.
-
Install an Integrated Development Environment (IDE) such as IntelliJ IDEA or Visual Studio Code.
-
To install IntelliJ IDEA, follow the instructions on the official website
-
To install Visual Studio Code, follow the instructions on the official website.
-
To run the application, please follow these steps:
-
Clone the repository using the following command:
git clone https://github.com/aamirxshaikh/spring-framework-core.git
-
Navigate into the project directory using the following command:
cd spring-framework-core
-
You can simply run the project in the IntelliJ IDEA by clicking the "run" icon or you can run the application using the following command:
mvn spring-boot:run
-
After the application is running, you can navigate to the respective directories to find examples and exercises related to each topic.
Feel free to contribute to this repository by improving the existing codebase or adding new features. Simply fork the repository, make your changes, and create a pull request. I'll be happy to review and merge your changes.
This repository is licensed under the MIT License. See the LICENSE file for details.