Spring Boot 完整讲解
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 ,
- 是传统的架构,
- 优点:开发 、部署、运维要简单,
- 缺点:牵一发动全身,不适合大型应用
- 在多个服务器上复制这个单体进行扩展
微服务
- 一个微服务架构把每个功能元素放进一个独立的服务中
- 通过跨域服务器分发这些服务进行扩展,只在需要时进行扩展
Spring Boot 完整讲解的更多相关文章
- Spring Boot基础讲解
Spring Boot Spring Boot 是由Pivotal团队提供的框架,它并不是一个全新的框架,而是将已有的 Spring 组件整合起来,设计目的是用来简化新Spring应用的初始搭建以及开 ...
- 超全、超详的Spring Boot配置讲解笔记
springboot默认加载配置 SpringBoot使用两种全局的配置文件,全局配置文件可以对一些默认配置进行修改. application.properties application.yml 这 ...
- 《Spring Boot 入门及前后端分离项目实践》系列介绍
课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发 ...
- Spring Boot 揭秘与实战(七) 实用技术篇 - 异步任务
文章目录 1. Spring Boot 集成异步任务 2. 单发服务模式 3. 请求应答模式 4. 源代码 Spring 对异步任务具有很好的支持.这篇文章,我们透过 Spring Boot 来讲解下 ...
- Spring Boot 静态资源处理
spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性. 建议使用Spring Boot 默认处理方式 ...
- Spring Boot 属性配置和使用(转)
Spring Boot 属性配置和使用 Spring Boot 允许通过外部配置让你在不同的环境使用同一应用程序的代码,简单说就是可以通过配置文件来注入属性或者修改默认的配置. Spring Boot ...
- 一起来学spring Cloud | 第一章:spring Cloud 与Spring Boot
目前大家都在说微服务,其实微服务不是一个名字,是一个架构的概念,大家现在使用的基于RPC框架(dubbo.thrift等)架构其实也能算作一种微服务架构. 目前越来越多的公司开始使用微服务架构,所以在 ...
- Spring Boot 实战与原理分析视频课程
Spring Boot 实战与原理分析视频课程 链接:https://pan.baidu.com/share/init?surl=PeykcoeqZtd1d9lN9V_F-A 提取码: 关注公众号[G ...
- Spring Boot 支持多种外部配置方式
Spring Boot 支持多种外部配置方式 http://blog.csdn.net/isea533/article/details/50281151 这些方式优先级如下: 命令行参数 来自java ...
随机推荐
- scrapy-redis分布式爬取知乎问答,使用docker布置多台机器。
先上结果: 问题: 答案: 可以看到现在答案文档有十万多,十万个为什么~hh 正文开始: 分布式爬虫应该是在多台服务器(A B C服务器)布置爬虫环境,让它们重复交叉爬取,这样的话需要用到状态管理器. ...
- LeetCode(239.滑动窗口的最大值
题目: 给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到最右侧,你只可以看到滑动窗口内的k个数字.滑动窗口每次只向右移动一位. 返回滑动窗口中的最大值. 示例: 输入: nums = ...
- js 模拟滚动条
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- nuxt创建项目的步骤
nuxt创建项目的步骤 1.基本步骤 // 创建package.json依赖管理文件 npm init -y // 在package.json文件中添加运行nuxt的命令,之后npm run dev启 ...
- Head First设计模式——原型模式和访问者模式
原型 原型模式:当创建给定类的过程很昂贵或很复杂时,就使用原型模式. 我们在进行游戏的时候游戏会动态创建怪,而怪时根据场景的不同而变化创建的,英雄自己也会创建一些随从.创建各式各样的怪兽实例,已经越来 ...
- Vulnhub 靶场 Os-hackNos WP
About Os-hackNos 描述 Difficulty : Easy to Intermediate Flag : 2 Flag first user And second root Learn ...
- AI学习笔记:人工智能与机器学习概述
一.人工智能基本概念 1.1 基本概念 数据分析:对历史规律的展现.对未来数据的预测. 机器学习:机器学习是指从一系列的原始数据中找到规律,提取人们可以识别的特征,然后通过学习这些特征,最终产生一个模 ...
- 【i春秋综合渗透测试】《我很简单,请不要欺负我》
第2题:获取目标网站管理员的密码 扫到了后台(/admin),本来想用sqlmap跑一下,但是随便试了个弱口令(admin888)就进去了... 第3题: getshell 配置插马:登录后台 ...
- 累加数的贡献 CodeForces - 1213D2
题意: 第一行输入n,k,表示有n个数,可以进行整除2操作,要是数组有k个相等的数,最少需要几次操作. 思路: 用一个数组记录每一个数出现的次数,如果一开始大于等于k,直接输出0,否则对这n个数进行从 ...
- Linux 常用命令速记
1.touch:创建文件,比如: touch a.txt 2.vi:编辑修改文件,比如: vi a.txt 打开编辑页面后: a 键:开始输入编辑: Esc键:结束输入内容 :wq:保存文件编辑内 ...
- Spring Boot基础讲解