史上最全的 Spring Boot 学习教程

2023-10-27


       本套教程基于 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 多个库的切换
  7. 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♪(・ω・)ノ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

史上最全的 Spring Boot 学习教程 的相关文章

  • 分析 Spring 的依赖注入模式

    一 依赖注入 二 Field Injection 优点 缺点 三 Constructor Injection 优点1 容易发现 code smell 优点2 容易厘清依赖关系 优点3 容易写单元测试 优点4 Immutable Object
  • 史上最全的 Spring Boot 学习教程

    本文目录 一 Spring Boot入门 二 Spring Boot配置 三 Spring Boot与日志 四 Spring Boot与Web开发 五 Spring Boot与Docker 六 Spring Boot与数据访问 七 Spri
  • Spring Boot框架基础介绍

    Spring Boot 是一款基于 Spring 框架的开源应用程序开发工具 它旨在简化 Spring 应用程序的配置和开发过程 Spring Boot 提供了一种简单的方式来创建可独立运行的 生产级别的应用程序 并在需要时进行部署 Spr
  • 【Spring Boot丨(11 )】json的集成

    集成JSON 概述 Jackson Gson JSON B 主页传送门 传送 概述 Spring boot 提供了三种json库的集成 Gson Jackson JSON B 上述三种库提供了将Java对象转换为JSON字符串以及将JSON
  • Spring Boot 配置定时任务

    本文目录 引言 1 注解的使用 2 cron 表达式介绍 各字段含义 特殊字符代表含义 常用 cron 表达式介绍 引言 项目开发中经常需要执行一些定时任务 比如 需要在每天凌晨时候 分析一次前一天的日志信息 Spring为我们提供了异步执
  • spring boot判断需要跳转的页面文件是否存在

    在Spring Boot项目中 你可以使用ResourceLoader来判断要跳转的页面HTML路径文件是否存在 首先 你需要注入ResourceLoader到你的类中 可以使用 Autowired注解进行依赖注入 如下所示 Autowir
  • 【Spring Boot 初识丨七 丨外部化配置(一)】属性详解

    上一篇讲了 Spring Boot 的依赖注入 本篇来讲一讲Spring Boot 外部化配置 Spring Boot 初识 Spring Boot 初识丨一 入门实战 Spring Boot 初识丨二 maven Spring Boot
  • @Cacheable注解属性介绍

    本文目录 1 value cacheNames 属性 2 key属性 3 keyGenerator 属性 4 cacheManager 属性 5 cacheResolver 属性 6 condition 属性 7 unless 属性 8 s
  • Spring Boot学习笔记(七)Spring 中 InitializingBean 作用(如何在项目初始化时对常用数据进行缓存)

    一 InitializingBean 的作用 InitializingBean作为一个接口 只有一个需要重写的方法 Compoments public class LearnClass implements InitializingBean
  • Springboot 性能优化(亲测)——SpringBoot学习

    SpringBoot 是一个快速开发框架 能够快速的整合第三方框架 简化XML配置 全部采用注解形式 内置Tomcat容器 帮助开发者能够实现快速开发 SpringBoot的Web组件 默认集成的是SpringMVC框架 尽管 Spring
  • 初识springBoot

    springboot初学应该了解哪些 了解更多请看Spring Boot 初识 系列 会持续更新 Spring Boot 初识丨一 入门实战 Spring Boot 初识丨二 maven Spring Boot 初识丨三 starter S
  • 【Spring Boot 初识丨一】入门实战

    学习前提 学习Spring Boot的前提是具备Java编程基础 包括面向对象编程 Java集合框架 异常处理 多线程等基本概念和技能 此外 还需要了解Web开发的基本知识 例如HTTP协议 Servlet JSP HTML CSS Jav
  • 【Spring Boot丨序列化、反序列化】

    序列化 反序列化 概述 Jackson 序列化和反序列化 简介 自定义序列化器 注册外部序列化程序 指定类的 Json 序列化 反序列化 主页传送门 传送 概述 序列化是将对象转换为字节序列的过程 而反序列化则是将字节序列恢复为对象的过程
  • SpringBoot之logback-spring.xml详细配置

    logback官网 各种指导文件 有空自己去看 比如 我们需要调整的是布局 直接看Layouts pom xml
  • Springboot配置端口号

    springboot项目端口配置可以通过application yml或application properties指定 server port 80 或者 server port 8089 代码指定 springboot2 x以上版本Em
  • 【Spring Boot 初识丨三】starter

    上一篇讲了如何构建MAVEN项目 本篇来讲一讲 starter 依赖项 Spring Boot 初识 Spring Boot 初识丨一 入门实战 Spring Boot 初识丨二 maven Spring Boot 初识丨三 starter
  • RestTemplate使用详解

    文章目录 一 RestTemplate 简单使用 1 创建 RestTemplate 2 接口调用 二 其他设置 1 拦截器配置 2 ErrorHandler 配置 3 HttpMessageConverter 配置 在项目中 当我们需要远
  • Java日志简介及SpringBoot日志

    一 什么是日志 日志 就是介绍一个过程和经历的详细记录 项目日志 就是项目开发过程的详细记录 一般由项目经理记录 代码里的日志 就是程序员记录某个开发过程的详细情况 这是项目里每个程序员需要做的工作 日志和异常处理结合得当的话 会给项目维护
  • Springboot启动后执行方法

    文章目录 一 注解 PostConstruct 二 CommandLineRunner接口 三 实现ApplicationRunner接口 四 实现ApplicationListener 五 四种方式的执行顺序 一 注解 PostConst
  • Spring Boot整合MyBatis Plus,实现增删改查(CRUD)

    前言 软件开发中 无论我们身处什么行业 如 金融 电商 医疗 政府 电信等行业 底层实现都离不开数据库的增删改查操作 每个程序开发人员的工作也离不开CRUD 下面通过Spring Boot整合MyBatis Plus来实现数据库的增删改查操

随机推荐

  • 【AutoHotkey】 解析并执行 字符串中的 函数表达式

    预期效果 str func1 123 456 ExecFunc str 实现方式 正则文本解析出函数名及其参数 array形式 执行 该函数与其参数 难点
  • linux fseek函数用法详解

    1 功 能 重定位流 数据流 文件 上的 文件内部位置 指针 注意 不是 定位文件指针 文件指针指向文件 流 位置 指针指向文件内部的字节位置 随着文件的读取会移动 文件指针如果不重新赋值将不会改变指向别的文件 2 用 法 int fsee
  • JS算法之动态规划

    如果不能避免被剥削的命运 就要提高自己被剥削的价值 大家好 我是柒八九 今天 我们继续探索JS算法相关的知识点 我们来谈谈关于动态规划的相关知识点和具体的算法 如果 想了解其他数据结构的算法介绍 可以参考我们已经发布的文章 如下是算法系列的
  • MFC CPropertySheet控件

    步骤一 新建一个对话框 步骤二 新建三个属性页对话框资源 IDD PROPPAGE LARGE 并对新建的三个属性页对话框生成三个类 基类为CPropertyPage 步骤三 插入一个新的类 用于创建属性表单 基类为CPropertyShe
  • Twitter的like动画安卓版 - 备选方案

    英文 Twitter s like animation in Android alternative 相关动画网址 http frogermcs github io twitters like animation in android al
  • VCRUNTIME140_1.dll丢失是怎么回事?三个解决方法分享

    最近打开软件或者游戏的时出现了以下问题一开始以为是自己手残又误删了什么 重新安装了两次也没有解决 看网上有许多朋友安装其他软件时会出现缺少VCRUNTIME140 dll 其实VCRUNTIME140 1 dll是微软Visual C Re
  • JavaScript实现网页打印,可设置页眉、页脚、页边距

    WebBrowser是IE内置的浏览器控件 无需用户下载 即可实现客户端页面打印 关于这个组件还有其他的用法 列举如下 WebBrowser ExecWB 1 1 打开 Web ExecWB 2 1 关闭现在所有的IE窗口 并打开一个新窗口
  • fit_transform和transform

    1 二者区别 fit 用来求得训练集X的均值 方差 最大值 最小值 这些训练集X固有的属性 transform 在fit的基础上 进行标准化 降维 归一化等操作 fit transform 包含上述两个功能 2 为什么训练集用fit tra
  • 逻辑回归--Octave实现

    The logistic regression cost function is convex so gradient descent will always find the global minimum 问题一 采用逻辑回归 Suppo
  • 新出炉!谷歌AI #DreamFusion 从文本生成3D模型

    文本生成图像已有了大量模型工具 文本生成3D模型的工具到是很少见 我记得有一期推文介绍了文本生成数字人模型吧 现在有能生成通用3D模型的工具了 近期谷歌AI 发布了文本生成3D模型 Dreamfusion 赶紧去体验下有多神奇 DreamF
  • mysql join 一对多_leftjoin陷阱之一对多导致数据量增加

    从上面2张图可以看出 本来我们是想用一些left join来匹配出我们需要的信息 但却因此使得我们的统计数据量增大了 为什么呢 这个就是原因了 我们关联的一张表有1 n的情况 vcD4KCgoKCjxwPs6qwcvR3cq x Wz rr
  • React——函数组件与类组件

    一 函数组件 和 类组件介绍 1 函数组件 函数组件也称无状态组件 顾名思义就是以函数形态存在的 React 组件 在 hooks 出现之前 react 中的函数组件通常只考虑负责UI的渲染 没有自身的状态 没有业务逻辑代码 是一个纯函数
  • 软件开发中项目经理有那些职责

    搜集了一篇软件开发中项目管理的文章 大家看看 当项目繁多的时候 需要规范 并且定义到细节 只有这样 才能支持大规模的开发 PM非常重要 PM的能力将直接导致项目最后的质量 本文是根据公司当前的现状而描述的 并不一定普遍适用 合适的 就是最好
  • linux登录界面配置、\etc\motd有趣的图案

    linux登录显示图案 etc motd介绍 图案 佛祖保佑 佛祖瘫痪 fuck me 神兽羊驼 海贼旗 啪 初音未来 攻城狮 we wang you 自制图案 etc motd介绍 etc motd 这个文件是在你登录之后显示的 不管你是
  • sklearn中的datasets.make_moons函数

    make moons是函数用来生成数据集 from sklearn import datasets x y datasets make moons n samples 800 noise 0 3 shuffle True random st
  • 寻路算法——A*算法

    2 寻路算法 A 算法剖析 2 1 A 算法简介 原文链接 http www gamedev net reference articles article2003 asp 原作者文章链接 http www policyalmanac org
  • gitlab持续集成-部门官网文档

    https gitlab com gitlab org gitlab blob master lib gitlab ci templates Nodejs gitlab ci yml https gitlab com gitlab org
  • 软件测试外包公司怎么样?为什么没人去?看我终极解密外包!

    目录 导读 一 前言 什么是软件测试外包 二 软件测试外包的好处与坏处 三 进软件测试外包公司前的思考 四 软件测试外包流行的原因挖掘 五 总结 一 前言 什么是软件测试外包 随着最近10年创业风气的发起 已经涌起创业项目外包公司的兴起 已
  • 算法笔记5.6--N的阶乘

    题目描述 输入一个正整数N 输出N的阶乘 输入 正整数N 0 lt N lt 1000 输出 输入可能包括多组数据 对于每一组输入数据 输出N的阶乘 样例输入 0 4 7 样例输出 1 24 5040 代码 struct bign int
  • 史上最全的 Spring Boot 学习教程

    本文目录 一 Spring Boot入门 二 Spring Boot配置 三 Spring Boot与日志 四 Spring Boot与Web开发 五 Spring Boot与Docker 六 Spring Boot与数据访问 七 Spri