This project is a code implementation repository following the Bilibili - Atguigu 2023 New Spring Tutorial from Zero to Advanced. It aims to deeply understand and master the advanced features and working principles of Spring 6 by hand-coding and reproducing the core logic in the tutorial.
It is highly recommended to use this source code repository in conjunction with the original video tutorial to significantly improve your learning efficiency.
This project contains independent modules focusing on various core concepts:
spring6-first: Basic introduction and first experience with Spring 6spring6-ioc-xml: Inversion of Control (IoC) container practice based on XML configurationspring6-ioc-annotation: IoC and Dependency Injection (DI) practice based on annotationsspring6-aop: Basic principles of Aspect-Oriented Programming (AOP) and proxy pattern implementationspring6-junit: Integrating JUnit for fast unit testingspring6-transaction: Declarative transaction processing and underlying isolation level parsingspring6-resources: Unified resource loading mechanism and practicespring6-i18n: Spring 6 internationalization (i18n) configurationspring6-validation: Data Validator and parameter verificationspring6-reflect: Hand-written implementation of core IoC and DI (simulation based on reflection mechanism)
To successfully build and run this project locally, you will need:
- JDK: Java 17 or higher (Aligning with Spring 6 minimum system requirements)
- Build Tool: Maven 3.6+
- IDE: IntelliJ IDEA or Visual Studio Code is recommended
- Clone this project to your local machine:
git clone https://github.com/amigoer/Spring6.git
- Import the Maven project using your IDE.
- Wait for Maven to load and download the relevant dependencies, then you can go to the
src/test/java/directory of each module to run the test cases and experience different features.
- Video Tutorial: Bilibili - Atguigu 2023 New Spring Tutorial
- If you encounter any obstacles during local deployment or learning, please ensure your code repository is synced with the corresponding video chapter!
- If you find a bug in the code or have suggestions for optimization, you are welcome to submit an Issue to start a discussion. When submitting, please clearly describe the problem you encountered and attach relevant running logs.
- If you find this useful, please give the project a Star ⭐, which is a great encouragement for me. Finally, thank you for your contribution to the open-source community, and wish you a happy learning!