本文目录:
本套教程基于 Spring Boot 1.5.10 版本介绍,只为带你进入 Spring Boot 的世界,Spring Boot 2.x 版本开发类似于 1.x 版本,通过本教程触类旁通即可,它们的核心原理都是类似的,谢谢。
一、Spring Boot入门
此部分主要介绍 SpringBoot 的基础内容。
二、Spring Boot配置
SpringBoot 配置文件介绍
- Spring Boot 中 .yml 语法介绍
- @ConfigurationProperties注解将.yml/.properties 配置文件值注入到Java Bean
- 注解@ConfigurationProperties 和 @Value 对比
- @PropertySource 注解的使用
- @ImportResource 注解的使用
- Spring Boot 注解方式将组件添加到 IOC 容器
- Spring Boot 之 profile 多环境支持
- Spring Boot 之 内部/外部配置文件加载、优先级问题
- Spring Boot 自动配置原理分析
三、Spring Boot与日志
Spring Boot与日志框架(slf4j、log4j、log4j2、logback)的整合使用。
slf4j(接口标准)、log4j、logback 出自同一大神之手。因为 log4j 性能方面的不足,由于对 log4j 升级需要很大的改动,所以大佬着手重写了一套 logback 的实现。大佬又想到后续还会有很多的日志框架,相互之间整合就会很不方便,所以大佬又亲自写了一套日志标准,这就是 slf4j
。log4j2 出自 Apache 之手,这套日志框架编写的也非常的棒,但是因为很多其他框架还没完全与其适配,所以 Spring Boot 在日志选择方面,选用的是 slf4j + logback 的组合模式。
在 Spring Boot 中,建议使用 slf4j + logback 的日志组合即可,毕竟都是出自同一人之手,适配性还是蛮高的,况且它在性能等方面也都是卓越的。所以 Spring Boot 中,不建议选择其他日志组合。(尤其是如果你选择 slf4j + log4j,那你就完蛋了,就是因为 log4j 性能的问题,才编写的 logback。你又返回选择 log4j 去了,只能原谅你对这方面的不理解了,要不就是你对使用 log4j 很熟悉了)
四、Spring Boot与Web开发
Spring Boot 基于 Web 开发介绍
- Spring Boot 对 js、css 等静态资源的映射规则
- Spring Boot 引入 Thymeleaf 及入门使用
- Spring Boot 国际化(i18n)
- Thymeleaf 公共组件的抽取 & 使用
- Spring Boot 中 form 表单发送 put、delete 请求
- Spring Boot 配置文件中可以配置哪些属性
- Spring Boot 配置静态资源映射器
- Spring Boot 错误处理机制源码分析
- Spring Boot 自定义异常内容
- Spring Boot 修改嵌入式 Servlet 容器配置
- 三大组件:Spring Boot 自定义 Servlet
- 三大组件:Spring Boot 自定义 Filter
- 三大组件:Spring Boot 自定义 Listener
- Spring Boot 整合 JSP 使用外部 Tomcat
五、Spring Boot与Docker
虚拟化容器技术Docker的介绍
- VMware虚拟机安装及如何正确联网
- Docker安装
- Docker镜像加速 (下载慢的问题)
- Docker基础命令
- Docker介绍、Docker安装 Tomcat、MySQL等实例。可参考【菜鸟教程】
六、Spring Boot与数据访问
对于数据访问层,无论是 SQL 还是 NOSQL,Spring Boot 底层默认采用整合 Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入 各种 xxxTemplate
,xxxRepository
来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。此处主要介绍 Spring Boot 如何与关系型数据库交互。Spring Boot 整合数据访问源码,位于spring-boot-autoconfigure:x.x.x.RELEASE包下的 jdbc 文件下
。此处我们就分别使用 JDBC
、MyBatis
、Spring Data JPA
来介绍Spring Boot 与数据访问。
- Spring Boot 整合 JDBC
- Spring Boot 整合 druid
- Spring Boot 整合 MyBatis(比较简单,自行百度吧,此处不作介绍)
- Spring Boot 整合 通用 Mapper & 代码生成器使用(代码生成器也可以不使用 xml,使用代码方式,可自行百度)
- Spring Boot 整合 MyBatis Plus,可参考官方介绍
- Spring JPA 操作数据库,我认为它 和 tk. MyBaits、MyBatis Plus 等组件原理类似,了解一下即可,了解使用请自行百度吧,此处不作介绍此处不再过多介绍
七、Spring Boot启动配置原理
介绍SpringBoot的内部原理
八、Spring Boot自定义starters
九、Spring Boot与缓存
介绍SpringBoot内部的缓存管理机制。此处使用Redis来当做缓存服务器进行整合。介绍SpringBoot整合 Redis。
- JSR-107缓存规范介绍
- Spring 缓存在项目中的使用
- Spring Boot 缓存原理源码分析
- @Cacheable注解属性介绍
- Spring Boot 整合 Redis(使用 redisTemplate)
- Spring Boot 整合 Redis 实现数据缓存
十、Spring Boot与消息
SpringBoot与消息队列、消息中间件(RabbitMQ整合使用)
纯基础,没什么介绍的。我在此处顺手备一份。附代码实现:Spring Boot 整合 RabbitMQ的基本使用(提取码:yxnn)
十一、Spring Boot与检索
SpringBoot全文检索(整合 Es 全文检索)
demo 为纯基础使用,我在此处顺手备一份。附代码实现:Spring Boot 整合 ElasticSearch 的基本使用(提取码:etmy)
十二、Spring Boot与任务
SpringBoot 关于邮件任务
(如何发送邮件)、定时任务
(如何定时执行代码)、异步任务
(如何提高Spring的并发执行能力) 基本使用介绍。
此处顺手备一份基础使用 demo。附代码实现:Spring Boot 整合 (邮件发送-异步任务-定时任务) 的基本使用(提取码:qaed)
十三、Spring Boot与安全
项目安全框架,市面上有两个比较常用的安全框架:Apache Shiro
、Spring Security
。Shiro是一个强大易用的框架,使用群体也比较多。Security是一个比较复杂,功能比较强大的框架。而且它能够无缝的整合 Spring。所以 Spring 底层也是使用 Spring Security 来作为安全框架的。项目安全,主要涉及到的就是两个内容:认证
和 授权
。
- 认证: 即用户登录的过程,登录成功代表认证成功;
- 授权: 即所谓的权限,判断登录用户是否有相关权限来访问某些内容。
我猜 Spring Security 底层就是拦截器的实现。程序员太难了,出这么多框架啥的,头发又少了几根…哎
。详细介绍从官网下手吧:Spring Security官网
demo 为纯基础使用,我在此处顺手备一份。附代码实现:Spring Boot 整合 Spring Security实现基本的登录、权限认证、注销、记住我等功能(提取码:crdk )
十四、Spring Boot与开发热部署
SpringBoot开发热部署技术,开发期间使用热部署来简化开发
博主写作不易,来个关注呗
求关注、求点赞,加个关注不迷路 ヾ(◍°∇°◍)ノ゙
博主不能保证写的所有知识点都正确,但是能保证纯手敲,错误也请指出,望轻喷 Thanks♪(・ω・)ノ