# SpringBoot-Course **Repository Path**: disheno/SpringBoot-Course ## Basic Information - **Project Name**: SpringBoot-Course - **Description**: 小项目大思想 — SpringBoot实战系列 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-20 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringBoot实战系列 本项目主要基于Spring Boot框架从零开始,从最开始的项目构建、项目配置、数据存储等渐进式的进行讲解,每个章节的讲解都有之对应的源码。如果能对您有帮助,欢迎点击右上角Star按钮,给予支持! > **作者:** 五月君,Node.js Developer,[慕课网认证作者](https://www.imooc.com/u/2667395)。 ## 宗旨 * 小项目大思想 * 以最为简洁的代码示例进行讲解 * 每一篇讲解都附带源码地址 ## 项目构建 * [IntelliJ IDEA 中的Spring Initializr快速构建SpringBoot工程](/chapter1/README.md#intellig编辑器创建) * [编写一个Hello SpringBoot程序](/chapter1/README.md#编写一个hello-springboot-程序) - `[运行程序]` 三种方式启动项目 [`[more]`](/chapter1/README.md#三种启动方式) * [项目属性配置](/chapter1/README.md#项目属性配置) - `[项目属性配置]` application.properties文件设置配置 [`[more]`](/chapter1/README.md#后缀properties文件配置) - `[项目属性配置]` application.yml文件设置配置 [`[more]`](/chapter1/README.md#后缀yml文件配置) - `[项目属性配置]` 自定义属性配置参数间引用 [`[more]`](/chapter1/README.md#自定义属性配置及参数间引用) - `[项目属性配置]` 多环境动态配置 [`[more]`](/chapter1/README.md#多环境动态配置) ## 数据存储 - ### 概览 > 在介绍以下几种数据库之前少不了先说下```Spring```家族的```spring-data```,适用于关系型和非关系型数据库,简化了配置和数据库访问。例如,```Spring Data JPA```、```Spring Data MongoDB```、```Spring Data Redis```等 - ### MySql * [Spring-Data-Jpa简介及常用CRUD方法](/chapter2/README.md#常用方法) * [pom.xml增加依赖](/chapter2/README.md#添加依赖) * [修改配置文件 数据库Mysql、Jpa相关配置](/chapter2/README.md#mysql相关配置) * [Spring-Data-Jpa实现CRUD操作实例](/chapter2/README.md#实例) * [问题排错](/chapter2/README.md#问题排错) - ### MongoDB * [MongoDB、Spring Data MongoDB简介](/chapter2/README.md#简介) * [pom.xml增加spring-boot-starter-data-mongodb依赖](/chapter2/README.md#添加mongodb依赖) * [修改配置文件 数据库MongoDB相关配置](/chapter2/README.md#修改配置文件mongodb相关配置) * [定义集合模型](/chapter2/README.md#定义集合模型) * [创建数据访问对象](/chapter2/README.md#创建继承于mongorepository的数据访问对象) * [创建实例实现对数据的增删改查操作](/chapter2/README.md#创建控制层实现对数据的增删改查) - ### Redis ## AOP面向切面编程 > AOP是一种与语言无关的程序思想、编程范式。项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志、权限控制、异常处理等业务中。 * [引入AOP依赖](/chapter3/README.md#引入aop依赖) * [AOP常用注解解析](/chapter3/README.md#aop注解) * [实现日志分割功能](/chapter3/README.md#实现日志分割功能) * [```@Pointcut``` 添加切入点](/chapter3/README.md#添加切入点) * [```@Before``` 前置通知](/chapter3/README.md#前置通知) * [```@After``` 后置通知](/chapter3/README.md#后置通知) * [```@Around``` 环绕通知](/chapter3/README.md#环绕通知) * [```@AfterReturning``` 返回后通知](/chapter3/README.md#返回后通知) * [```@AfterReturning``` 异常通知](/chapter3/README.md#异常通知) * [一段段伪代码读懂执行顺序](/chapter3/README.md#一段段伪代码读懂执行顺序) * [对正常、异常两种情况分别进行测试](/chapter3/README.md测试正常异常两种情况) ## 统一异常处理 * [统一返回数据结构](/chapter4/README.md#统一返回数据结构) * `[统一返回数据结构]` 定义接口返回数据结构 * `[统一返回数据结构]` 数据接口字段模型定义 * `[统一返回数据结构]` 封装接口返回方法(成功、失败) * [统一异常处理](/chapter4/README.md#统一异常处理) * `[统一异常处理]` 状态消息枚举 * `[统一异常处理]` 自定义异常类 * `[统一异常处理]` @ControllerAdvice统一处理异常 * [测试](/chapter4/README.md#测试) * `[测试]` 测试正常返回及空指针系统异常 * `[测试]` 自定义异常测试 ## 单元测试 * [添加Maven依赖](/chapter5/README.md#添加maven依赖) * [借助IntelliJ IDEA编辑器快速创建测试类](/chapter5/README.md#创建测试类) * [Service单元测试](/chapter5/README.md#service单元测试) * [Controller单元测试](/chapter5/README.md#controller单元测试) * [问题汇总](/chapter5/README.md#问题汇总) ## 邮件发送 > 本篇主要介绍了Spring Boot中邮件发送,分别讲解了简单的文本邮件、HTML邮件、附件邮件、图片邮件、模板邮件。 * [添加Maven依赖](/chapter6/README.md#添加maven依赖) * [配置文件增加邮箱相关配置](/chapter6/README.md#配置文件增加邮箱相关配置) * [Service、Test项目代码构建](/chapter6/README.md#项目构建) * [五种邮件发送类型讲解](/chapter6/README.md#五种邮件发送类型讲解) * [文本邮件](/chapter6/README.md#文本邮件) * [html邮件](/chapter6/README.md#html邮件) * [附件邮件](/chapter6/README.md#附件邮件) * [html内嵌图片邮件](/chapter6/README.md#html内嵌图片邮件) * [模板邮件](/chapter6/README.md#html内嵌图片邮件) * [问题汇总](/chapter6/README.md#问题汇总) ## SpringBoot集成Consul - ### 微服务服务注册发现之 Consul 系列 [[more]](https://github.com/Q-Angelo/Nodejs-Roadmap/blob/master/docs/microservice/consul.md) - ```[Consul]``` [使用Consul解决了哪些问题](https://github.com/Q-Angelo/Nodejs-Roadmap/blob/master/docs/microservice/consul.md#使用consul解决了哪些问题) - ```[Consul]``` [微服务Consul系列之服务部署、搭建、使用](https://github.com/Q-Angelo/Nodejs-Roadmap/blob/master/docs/microservice/consul.md#consul架构) - ```[Consul]``` [微服务Consul系列之集群搭建](https://github.com/Q-Angelo/Nodejs-Roadmap/blob/master/docs/microservice/consul.md#集群搭建) - ```[Consul]``` [微服务Consul系列之服务注册与服务发现](https://github.com/Q-Angelo/Nodejs-Roadmap/blob/master/docs/microservice/consul.md#服务注册与发现) - ```[Question]``` [微服务Consul系列之问题汇总篇](https://github.com/Q-Angelo/Nodejs-Roadmap/blob/master/docs/microservice/consul.md#问题总结) - ### SpringBoot集成Consul配置中心 * [添加 Consul Maven依赖](/chapter7/README.md#添加maven依赖) * [系统级配置文件&应用级配置文件](/chapter7/README.md#配置文件) * [配置Consul管理控制台](/chapter7/README.md#配置Consul管理控制台) * [项目构建](/chapter7/README.md#项目构建) * [建立Config获取Consul配置数据](/chapter7/README.md#建立Config获取Consul配置数据) * [编写启动类调用配置](/chapter7/README.md#编写启动类调用配置) * [接口测试](/chapter7/README.md#接口测试) * [总结](/chapter7/README.md#总结) ## 转载分享 建立本开源项目的初衷是基于个人学习与工作中对 Spring Boot 的总结记录,在这里也希望能帮助一些在学习 Spring Boot 过程中遇到问题的小伙伴,如果您需要转载本仓库的一些文章到自己的博客,请按照以下格式注明出处,谢谢合作。 ``` 作者:五月君 链接:https://github.com/Q-Angelo/SpringBoot-Course 来源:Github SpringBoot实战系列 ``` ## 参与贡献 1. 如果您对本项目有任何建议或发现文中内容有误的,欢迎提交 issues 进行指正。 2. 对于文中我没有涉及到知识点,欢迎提交 PR。 3. 如果您有文章推荐请以 markdown 格式到邮箱 `qzfweb@gmail.com`,[中文技术文档的写作规范指南](https://github.com/ruanyf/document-style-guide)。 ## 联系我 - **微信** 添加我的微信备注“`Spring Boot`” - **公众号** 专注于Node.js相关技术栈的研究分享,包括基础知识、Nodejs、Consul、Redis、微服务、消息中间件等,如果大家感兴趣可以给予关注支持!
#### 未完待续,持续更新中。。。