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 ...
随机推荐
- String字符串位置移动
有规律的String字符串位置移动 1.自定义一个有规律的String字符串 String numstr = "1,2,3,x,y,4,5"; 2.按逗号拆分numstr字符串 S ...
- iview 踩坑之旅
公司重构管理系统,框架定了vue,UI在element和iview之间选,element样式被吐槽丑,于是选了iview,但是,,这个坑多啊... 废话少说,罗列了iview中容易出错或者懵逼的一些地 ...
- Vue项目三、项目中碰到的问题详解
一.组件的划分创建 方法一: 把页面上需要复用的模块,拆分成组件.比如,页面的header.footer.面包屑.弹出框等拆分成组件.所以在src中应该有一个文件夹(components)专门放这些会 ...
- NLP(二十四)利用ALBERT实现命名实体识别
本文将会介绍如何利用ALBERT来实现命名实体识别.如果有对命名实体识别不清楚的读者,请参考笔者的文章NLP入门(四)命名实体识别(NER) . 本文的项目结构如下: 其中,albert_ ...
- call 和 apply 和 bind的区别
有些东西说忘就往,每天记录自己忘记的东西重新学习一遍,挺好 作用:call()和apply()用法都是一样的,改变this的指向问题 区别:接收参数的方式不同, (bind 方法是附加在函数调用后面使 ...
- python.五角星
import turtle turtle.pensize(4)turtle.pencolor("black") turtle.fillcolor("red")t ...
- DOM解读
DOM解读 DOM概念 - document object model:文档对象模型 操作文档的一套方法,document是一个对象,是dom的顶级对象,属于window的一个对象,并且可以说是最出色 ...
- Java反射之成员方法的反射
上一篇介绍了Java反射之成员变量的反射,这次介绍成员方法的反射. [一]Method类 Method类中封装了所有java方法的属性,包括该方法是否私有,该方法的修饰符,返回值,参数,抛的错误等等. ...
- 通过CGAL将一个多边形剖分成Delaunay三角网
目录 1. 概述 2. 实现 3. 结果 4. 参考 1. 概述 对于平面上的点集,通过Delaunay三角剖分算法能够构建一个具有空圆特性和最大化最小角特性的三角网.空圆特性其实就是对于两个共边的三 ...
- php7连接mysql8
最近因为剁手买了mac所以在mac上搭建lnmp环境. 刚好看到mysql从5.7跳到8,性能据说快上一倍,果断尝鲜! lnmp基本都弄好了,但是到用php连接Mysql这一步出了岔子. 出错原因: ...
- Spring Boot基础讲解