Spring Boot 完整讲解
2024-10-09 01:01:02
SpringBoot学习笔记
文章写得比较详细,所以很长(105336 字数),可以参考目录
文章目录
- SpringBoot学习笔记
- 一、 Spring Boot 入门
- 预:必须掌握的技术:
- 1. Spring Boot 简介
- 2.微服务
- 3.环境准备
- 4.Spring Boot HelloWorld
- 5.Hello World 的探究
- 6.使用Spring Initializer快速创建Spring Boot 项目
- 二、Spring Boot 配置
- 1. 配置文件
- 2. YAML语法
- 附:Spring Boot单元测试
- 3. 通过配置文件注入
- 1) 数据绑定到基础数据类型
- 2) 将数据绑定到类中 含配置文件与类绑定的方法
- 3) @Value 获取值和 @ConfigurationProperties获取值的比较
- 4) 配置文件注入值数据校验
- 5) @PropertySource & @ImportResource
- 4)Spring配置文件注入
- 4.配置文件占位符
- 5.Profile
- 6.配置文件的加载位置
- 7.Spring Boot 外部配置加载顺序
- 8.Spring Boot 自动配置原理
- 3.自动配置原理(细节)
- 三、Spring Boot 与日志
- 四、SpringBoot与Web开发
- 1、使用SpringBoot
- 2、SpringBoot对静态页面的映射规则
- 访问静态资源
- 欢迎页配置
- 图标
- 3、模板引擎
- 引入thymeleaf
- Thymeleaf使用&语法
- 语法规则
- 1)、th:text 改变当前元素里面的内容
- 2)表达式
- Variable Expressions: ${...} 获取变量值,OGNL;
- Message Expressions: #{...} 获取国际化内容
- Link URL Expressions: @{...} 定义URL链接
- Fragment Expressions: ~{...} 插入文档
- Literals(字面量)
- Text operations: (文本操作)
- Arithmetic operations: (数学运算)
- Boolean operations: (布尔运算)
- Comparisons and equality:(比较运算)
- Conditional operators:(条件运算)(三元运算符也支持)
- Special tokens:(特殊)
- 4、SpringMVC自动配置
- 5、如何修改SpringBoot的默认配置
- 6、RestfulCRUD
- 7、错误处理机制
- 五、配置嵌入式Servlet容器
- 六、数据访问
- 1、jdbc配置
- 2.使用druid
- 3、整合Jpa
- 4、整合MyBatis
- 七、创建SpringBootApplication
- 八、缓存
- 1、统一的缓存开发规范:J2EE——JSR107
- 2、Spring缓存抽象
- 3、整合redis缓存
- 九、Spring Boot 与消息
- 1、消息队列是什么以及why消息队列
- 2、重要概念
- 3、RabbitMQ
- 4、RabbitMQ整合
- 十、SpringBoot与检索
- 十一、Spring Boot 与任务
- 十二、Spring Boor与安全
- 十三、Spring Boot与分布式
- 十四、Docker
文章目录
- SpringBoot学习笔记
- 一、 Spring Boot 入门
- 预:必须掌握的技术:
- 1. Spring Boot 简介
- 2.微服务
- 3.环境准备
- 4.Spring Boot HelloWorld
- 5.Hello World 的探究
- 6.使用Spring Initializer快速创建Spring Boot 项目
- 二、Spring Boot 配置
- 1. 配置文件
- 2. YAML语法
- 附:Spring Boot单元测试
- 3. 通过配置文件注入
- 1) 数据绑定到基础数据类型
- 2) 将数据绑定到类中 含配置文件与类绑定的方法
- 3) @Value 获取值和 @ConfigurationProperties获取值的比较
- 4) 配置文件注入值数据校验
- 5) @PropertySource & @ImportResource
- 4)Spring配置文件注入
- 4.配置文件占位符
- 5.Profile
- 6.配置文件的加载位置
- 7.Spring Boot 外部配置加载顺序
- 8.Spring Boot 自动配置原理
- 3.自动配置原理(细节)
- 三、Spring Boot 与日志
- 四、SpringBoot与Web开发
- 1、使用SpringBoot
- 2、SpringBoot对静态页面的映射规则
- 访问静态资源
- 欢迎页配置
- 图标
- 3、模板引擎
- 引入thymeleaf
- Thymeleaf使用&语法
- 语法规则
- 1)、th:text 改变当前元素里面的内容
- 2)表达式
- Variable Expressions: ${...} 获取变量值,OGNL;
- Message Expressions: #{...} 获取国际化内容
- Link URL Expressions: @{...} 定义URL链接
- Fragment Expressions: ~{...} 插入文档
- Literals(字面量)
- Text operations: (文本操作)
- Arithmetic operations: (数学运算)
- Boolean operations: (布尔运算)
- Comparisons and equality:(比较运算)
- Conditional operators:(条件运算)(三元运算符也支持)
- Special tokens:(特殊)
- 4、SpringMVC自动配置
- 5、如何修改SpringBoot的默认配置
- 6、RestfulCRUD
- 7、错误处理机制
- 五、配置嵌入式Servlet容器
- 六、数据访问
- 1、jdbc配置
- 2.使用druid
- 3、整合Jpa
- 4、整合MyBatis
- 七、创建SpringBootApplication
- 八、缓存
- 1、统一的缓存开发规范:J2EE——JSR107
- 2、Spring缓存抽象
- 3、整合redis缓存
- 九、Spring Boot 与消息
- 1、消息队列是什么以及why消息队列
- 2、重要概念
- 3、RabbitMQ
- 4、RabbitMQ整合
- 十、SpringBoot与检索
- 十一、Spring Boot 与任务
- 十二、Spring Boor与安全
- 十三、Spring Boot与分布式
- 十四、Docker
一、 Spring Boot 入门
预:必须掌握的技术:
- Spring 框架的使用经验
- 熟练使用Maven进行项目构建和依赖管理
- 熟练使用IDEA或Eclipse
1. Spring Boot 简介
背景
Spring Boot 来简化Spring 应用的开发,约定大于配置,去繁从简,明显提高开发效率
解决的问题
- Spring全家桶时代
- Spring Boot ——》J2EE一站式解决方案
- Spring Cloud -> 分布式整体解决方案(Spring技术栈)
优点
- 快速创建独立运行的Spring项目以及与主流框架集成
- 使用嵌入式Servlet容器,应用无需打成WAR包,直接使用Java -jar jar包名即可运行
- starters自动依赖与版本控制
- 大量的自动配置,简化开发,也可以修改默认值
- 无需配置XML,无需代码生成,开箱即用
- 准生产环境的运行时应用监控
- 与云计算的天然集成
缺点
入门快,精通很难
Spring Boot是对Spring 框架的再封装,若对Spring不了解,对SpringBoot的封装机制也不会很了解,Spring Boot中许多自动配置,需要我们了解Spring的API(只有在了解Spring的API后才能更精通Spring Boot
2.微服务
martin fowler详细介绍了微服务Martin Fowler:microservices
What are Microservices?
微服务是一种架构风格
提倡在开发应用时,一个应用应该是一组小型服务;可以通过HTTP的方式进行互通
单体应用
- All In One ,
- 是传统的架构,
- 优点:开发 、部署、运维要简单,
- 缺点:牵一发动全身,不适合大型应用
- 在多个服务器上复制这个单体进行扩展
微服务
- 一个微服务架构把每个功能元素放进一个独立的服务中
- 通过跨域服务器分发这些服务进行扩展,只在需要时进行扩展
最新文章
- Java绘图
- 剑指offer七:两个链表的第一个公共结点
- WinForm中MouseEnter和MouseLeave混乱的问题
- PDF解析记录——Pdfbox
- Ecshop文章列表页显示内容摘要
- 【Spark】jupyter notebook
- POJ 1251 	Jungle Roads (prim)
- Swift技术之如何在iOS 8下使用Swift设计一个自定义的输入法 (主要是NSLayoutConstraint 的使用)
- mount挂载
- php header 函数详解
- iOS 进阶 第二十二天(0603)
- Android 软键盘弹出时把布局顶上去,控件乱套解决方法
- Ubantu下FTP服务器资源进行控制
- div轮流滚动显示
- pytorch Debug —交互式调试工具Pdb (ipdb是增强版的pdb)-1-使用说明
- 解决jmeter乱码
- 深度解读 AlphaGo 算法原理
- POJ 3320	Jessica's Reading Problem (尺取法)
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(一)Java语言中System.out.print与Log的比较
- 微软SMB 3.0文件共享协议新特性介绍
热门文章
- JavaScript对象(一)
- 小程序session_key失效解决方案、后台解密个人数据信息
- Hadoop集群搭建(五)~搭建集群
- dos下 批处理 用 pause 可以在最后暂停 查看结果信息 build.bat
- el-dialog对话弹框中根据后台数据无限制添加el-select标签,并进行展示,搜索,删除
- python pip 更新失败问题
- JVM 参数及各部分含义(转)
- Zetatier One 基本用法
- ubuntu 16.04服务器安装apache2 + php + mysql
- Vulnhub靶场 DC-2 WP