程序员社区

史上最全的 Spring Boot 学习教程

       本套教程基于 Spring Boot 1.5.10 版本介绍,只为带你进入 Spring Boot 的世界,Spring Boot 2.x 版本开发类似于 1.x 版本,通过本教程触类旁通即可,它们的核心原理都是类似的,谢谢。

一、Spring Boot入门

    此部分主要介绍 SpringBoot 的基础内容。

  1. Spring Boot介绍
  2. Spring Boot 工程创建
  3. @SpringBootApplication注解分析

二、Spring Boot配置

    SpringBoot 配置文件介绍

  1. Spring Boot 中 .yml 语法介绍
  2. @ConfigurationProperties注解将.yml/.properties 配置文件值注入到Java Bean
  3. 注解@ConfigurationProperties 和 @Value 对比
  4. @PropertySource 注解的使用
  5. @ImportResource 注解的使用
  6. Spring Boot 注解方式将组件添加到 IOC 容器
  7. Spring Boot 之 profile 多环境支持
  8. Spring Boot 之 内部/外部配置文件加载、优先级问题
  9. 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 很熟悉了)

  1. Spring Boot 配置 logback 实现【日志多环境下按指定条件滚动输出】
  2. Spring Boot 配置 logback 实现【异常发送邮件提醒】

四、Spring Boot与Web开发

  Spring Boot 基于 Web 开发介绍

  1. Spring Boot 对 js、css 等静态资源的映射规则
  2. Spring Boot 引入 Thymeleaf 及入门使用
  3. Spring Boot 国际化(i18n)
  4. Thymeleaf 公共组件的抽取 & 使用
  5. Spring Boot 中 form 表单发送 put、delete 请求
  6. Spring Boot 配置文件中可以配置哪些属性
  7. Spring Boot 配置静态资源映射器
  8. Spring Boot 错误处理机制源码分析
  9. Spring Boot 自定义异常内容
  10. Spring Boot 修改嵌入式 Servlet 容器配置
  11. 三大组件:Spring Boot 自定义 Servlet
  12. 三大组件:Spring Boot 自定义 Filter
  13. 三大组件:Spring Boot 自定义 Listener
  14. Spring Boot 整合 JSP 使用外部 Tomcat

五、Spring Boot与Docker

       虚拟化容器技术Docker的介绍

  1. VMware虚拟机安装及如何正确联网
  2. Docker安装
  3. Docker镜像加速 (下载慢的问题)
  4. Docker基础命令
  5. Docker介绍、Docker安装 Tomcat、MySQL等实例。可参考【菜鸟教程】

六、Spring Boot与数据访问

       对于数据访问层,无论是 SQL 还是 NOSQL,Spring Boot 底层默认采用整合 Spring Data的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入 各种 xxxTemplatexxxRepository 来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。此处主要介绍 Spring Boot 如何与关系型数据库交互。Spring Boot 整合数据访问源码,位于spring-boot-autoconfigure:x.x.x.RELEASE包下的 jdbc 文件下。此处我们就分别使用 JDBCMyBatisSpring Data JPA 来介绍Spring Boot 与数据访问。

  1. Spring Boot 整合 JDBC
  2. Spring Boot 整合 druid
  3. Spring Boot 整合 MyBatis(比较简单,自行百度吧,此处不作介绍)
  4. Spring Boot 整合 通用 Mapper & 代码生成器使用(代码生成器也可以不使用 xml,使用代码方式,可自行百度)
  5. Spring Boot 整合 MyBatis Plus,可参考官方介绍
  6. Spring JPA 操作数据库,我认为它 和 tk. MyBaits、MyBatis Plus 等组件原理类似,了解一下即可,了解使用请自行百度吧,此处不作介绍此处不再过多介绍

七、Spring Boot启动配置原理

       介绍SpringBoot的内部原理

八、Spring Boot自定义starters

  1. Spring Boot 自定义 starter

九、Spring Boot与缓存

       介绍SpringBoot内部的缓存管理机制。此处使用Redis来当做缓存服务器进行整合。介绍SpringBoot整合 Redis。

  1. JSR-107缓存规范介绍
  2. Spring 缓存在项目中的使用
  3. Spring Boot 缓存原理源码分析
  4. @Cacheable注解属性介绍
  5. Spring Boot 整合 Redis(使用 redisTemplate)
  6. Spring Boot 整合 Redis 实现数据缓存

十、Spring Boot与消息

       SpringBoot与消息队列、消息中间件(RabbitMQ整合使用)

       纯基础,没什么介绍的。我在此处顺手备一份。附代码实现:Spring Boot 整合 RabbitMQ的基本使用(提取码:yxnn)

十一、Spring Boot与检索

       SpringBoot全文检索(整合 Es 全文检索)

       demo 为纯基础使用,我在此处顺手备一份。附代码实现:Spring Boot 整合 ElasticSearch 的基本使用(提取码:etmy)

十二、Spring Boot与任务

       SpringBoot 关于邮件任务(如何发送邮件)、定时任务(如何定时执行代码)、异步任务(如何提高Spring的并发执行能力) 基本使用介绍。

  1. Spring Boot 异步任务处理
  2. Spring Boot 配置定时任务
  3. Spring boot配置邮件发送

       此处顺手备一份基础使用 demo。附代码实现:Spring Boot 整合 (邮件发送-异步任务-定时任务) 的基本使用(提取码:qaed)

十三、Spring Boot与安全

       项目安全框架,市面上有两个比较常用的安全框架:Apache ShiroSpring Security。Shiro是一个强大易用的框架,使用群体也比较多。Security是一个比较复杂,功能比较强大的框架。而且它能够无缝的整合 Spring。所以 Spring 底层也是使用 Spring Security 来作为安全框架的。项目安全,主要涉及到的就是两个内容:认证授权

  1. 认证: 即用户登录的过程,登录成功代表认证成功;
  2. 授权: 即所谓的权限,判断登录用户是否有相关权限来访问某些内容。

       我猜 Spring Security 底层就是拦截器的实现。程序员太难了,出这么多框架啥的,头发又少了几根…哎。详细介绍从官网下手吧:Spring Security官网

       demo 为纯基础使用,我在此处顺手备一份。附代码实现:Spring Boot 整合 Spring Security实现基本的登录、权限认证、注销、记住我等功能(提取码:crdk )

十四、Spring Boot与开发热部署

  SpringBoot开发热部署技术,开发期间使用热部署来简化开发


博主写作不易,来个关注呗

求关注、求点赞,加个关注不迷路 ヾ(◍°∇°◍)ノ゙

博主不能保证写的所有知识点都正确,但是能保证纯手敲,错误也请指出,望轻喷 Thanks♪(・ω・)ノ

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 史上最全的 Spring Boot 学习教程

一个分享Java & Python知识的社区