面向初学者的 Spring Boot 学习项目,涵盖"入门、配置、整合、自动配置扩展"。
学习目标:用最少的时间跑通一个 Spring Boot 项目,理解配置与常用整合,并能按需扩展自动配置。
- Java 8+
- Maven 3.6+
- 可选:MySQL(MyBatis 示例)、Redis(缓存示例)
git clone https://github.com/yangzhao917/springboot-learning.git
cd springboot-learning
mvn spring-boot:run可选:导入 sql/springboot_learning.sql,在 application-dev.yml 中配置数据源后体验 MyBatis 示例。
springboot-learning/
├── docs/ # 📚 详细文档目录
│ ├── 1.first-springboot.md # 🚀 Spring Boot入门指南
│ ├── 2.springboot-configuration.md # ⚙️ Spring Boot配置详解
│ ├── 3.springboot-Integration.md # 🔗 Spring Boot整合(JUnit、MyBatis、Redis)
│ ├── 4.springboot-autoconfigure.md # 🔧 Spring Boot自动配置详解
│ ├── 5.springboot-listener.md # 🔔 Spring Boot监听器详解
│ ├── 6.springboot-actuator.md # 📊 Spring Boot监控管理
│ ├── 7.springboot-deploy.md # 🚢 Spring Boot部署指南
│ └── img/ # 🖼️ 图片资源
├── sql/ # 🗄️ SQL脚本目录
│ └── springboot_learning.sql # 📝 数据库初始化脚本
├── src/
│ ├── main/
│ │ ├── java/org/example/
│ │ │ ├── App.java # 🚀 主启动类
│ │ │ ├── config/ # ⚙️ 配置类
│ │ │ │ └── AppConfig.java
│ │ │ ├── controller/ # 🎮 控制器
│ │ │ │ ├── SayController.java
│ │ │ │ └── ConfigController.java
│ │ │ ├── entity/ # 📦 实体类
│ │ │ │ └── User.java
│ │ │ ├── mapper/ # 🗺️ Mapper接口
│ │ │ │ └── UserMapper.java
│ │ │ └── service/ # 💼 服务层
│ │ │ ├── UserServiceImpl.java
│ │ │ └── RedisServiceImpl.java
│ │ └── resources/ # 📦 资源文件
│ │ ├── application.properties # ⚙️ Properties格式配置
│ │ ├── application-dev.yml # ⚙️ 开发环境配置
│ │ ├── application-test.yml # ⚙️ 测试环境配置
│ │ ├── application-prod.yml # ⚙️ 生产环境配置
│ │ ├── mapper/ # 🗺️ MyBatis映射文件
│ │ │ └── UserMapper.xml
│ │ ├── static/ # 🌐 静态资源
│ │ └── templates/ # 📄 模板文件
│ └── test/ # 🧪 测试代码
│ └── java/org/example/
│ ├── mapper/
│ │ └── UserMapperTest.java
│ └── service/
│ ├── UserServiceImplTest.java
│ └── RedisServiceImplTest.java
├── target/ # 🏗️ 编译输出目录
├── pom.xml # ⚙️ Maven配置文件
└── README.md # 📋 项目说明文档
- Spring Boot 2.1.8、Java 8、Maven
- Web: 内嵌 Jetty(已替换默认 Tomcat,可切换回 Tomcat 或 Undertow)
- 数据访问:MyBatis、MySQL(可选)
- 缓存:Redis(可选)
- 测试:JUnit 5
- 入门:
docs/1.first-springboot.md - 配置:
docs/2.springboot-configuration.md - 整合:
docs/3.springboot-Integration.md - 自动配置与扩展:
docs/4.springboot-autoconfigure.md - 监听器:
docs/5.springboot-listener.md - 监控管理:
docs/6.springboot-actuator.md - 部署:
docs/7.springboot-deploy.md
- ✅ 一键启动,可直接运行
- ✅ Properties/YAML 双格式,支持多环境配置(dev/test/prod)
- ✅ MyBatis/Redis 快速整合示例
- ✅ 自动配置原理讲解与自定义 Starter 示例
- ✅ 事件监听器机制详解(同步/异步、事务监听等)
- ✅ 应用监控与管理(Actuator)
- ✅ 多种部署方式详解
- ✅ 完整的技术文档与学习路径
- 开发环境默认端口:80(可在
application-dev.yml调整) - 更多见:
docs/2.springboot-configuration.md
常用目录参考"项目结构"。新增接口可在 controller 包中添加类和路由。
- 基础入门:阅读
docs/1.first-springboot.md,了解Spring Boot基本概念和项目结构 - 配置深入:学习
docs/2.springboot-configuration.md,掌握Properties/YAML配置、多环境配置等 - 框架整合:学习
docs/3.springboot-Integration.md,掌握JUnit测试、MyBatis数据访问、Redis缓存整合 - 自动配置:学习
docs/4.springboot-autoconfigure.md,理解Spring Boot自动配置原理,学习自定义Starter - 监听器机制:学习
docs/5.springboot-listener.md,掌握事件驱动编程、同步/异步监听、事务监听等 - 监控管理:学习
docs/6.springboot-actuator.md,掌握应用监控、健康检查、指标收集 - 部署实践:学习
docs/7.springboot-deploy.md,掌握JAR包、WAR包、Docker等多种部署方式
欢迎 PR 和 Issue!Fork 后提交分支并发起 Pull Request 即可。
MIT,见 LICENSE。
yangzhao(GitHub: @yangzhao917)
感谢 Spring Boot 团队与开源社区。
问题或建议:提 Issue 或邮件 yz0917@foxmail.com
⭐ 如果项目对你有帮助,欢迎 Star!