1.spring boot 快速搭建
1)创建一个project,选择empty project
![7c4ea531fc462091bff77dfe727c655e.png](https://img-blog.csdnimg.cn/img_convert/7c4ea531fc462091bff77dfe727c655e.png)
2)创建model,选择maven工程,不用勾选模板
![efe249de2552f10d5be5e55383ec9f14.png](https://img-blog.csdnimg.cn/img_convert/efe249de2552f10d5be5e55383ec9f14.png)
填写相关坐标:<groupId>com.ayx</groupId>
<artifactId>springboot_mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
![f25f2e14cb9f359e49d80756dc9a943d.png](https://img-blog.csdnimg.cn/img_convert/f25f2e14cb9f359e49d80756dc9a943d.png)
3)引入相关依赖,参考《spring boot 实战》
![64e6110c860beec0699fce2fb70f146c.png](https://img-blog.csdnimg.cn/img_convert/64e6110c860beec0699fce2fb70f146c.png)
spring boot启动类,类上加@SpringBootApplication注解;配置文件 application.xml,或者yml文件(格式参考文档)还可以配置多环境配置文件,日志级别
启动springbootapplication,就可以启动spring boot工程
![165041eca27c37f3ab285a00c6cfeaf1.png](https://img-blog.csdnimg.cn/img_convert/165041eca27c37f3ab285a00c6cfeaf1.png)
![4066e7f139569061a4db9a1eb4720539.png](https://img-blog.csdnimg.cn/img_convert/4066e7f139569061a4db9a1eb4720539.png)
![aee805edbf1b9d0006ff0130eb80f5ab.png](https://img-blog.csdnimg.cn/img_convert/aee805edbf1b9d0006ff0130eb80f5ab.png)
测试访问地址,完成快速搭建
![7269b772fd59cc9970e273362f25cb77.png](https://img-blog.csdnimg.cn/img_convert/7269b772fd59cc9970e273362f25cb77.png)
2.springboot热部署
1)pom文件添加依赖
![a5a7a4dfc34cd61575c0bf2586b572d4.png](https://img-blog.csdnimg.cn/img_convert/a5a7a4dfc34cd61575c0bf2586b572d4.png)
2)IDEA设置自动编译,勾选红框标注选项,然后 Shift+Ctrl+Alt+/,选择Registry
![9b023a972eb9856887cc51ed24dd8fa2.png](https://img-blog.csdnimg.cn/img_convert/9b023a972eb9856887cc51ed24dd8fa2.png)
![66905b3b349eb962ac015403112cedbe.png](https://img-blog.csdnimg.cn/img_convert/66905b3b349eb962ac015403112cedbe.png)
3.起步依赖和自动配置
1) 分析spring-boot-starter-parent
按住Ctrl点击pom.xml中的spring-boot-starter-parent,跳转到了spring-boot-starter-parent的pom.xml,xml配置如下(只摘抄了部分重点配置):
![3c7b72eb40d83fb1340d28a94502cca2.png](https://img-blog.csdnimg.cn/img_convert/3c7b72eb40d83fb1340d28a94502cca2.png)
从上面的spring-boot-starter-dependencies的pom.xml中我们可以发现,一部分坐标的版本、依赖管理、插件管理已经定义好,所以我们的SpringBoot工程继承spring-boot-starter-parent后已经具备版本锁定等配置了。所以起步依赖的作用就是进行依赖的传递。
2)自动配置
注解@SpringBootApplication的分析,其中,@SpringBootConfiguration:等同与@Configuration,既标注该类是Spring的一个配置类;@EnableAutoConfiguration:SpringBoot自动配置功能开启,这个注解导入了AutoConfigurationImportSelector类,其中,SpringFactoriesLoader.loadFactoryNames 方法的作用就是从META-INF/spring.factories文件中读取指定类对应的类名称列表
![e59d90c2b479d242c0ae06d1c3a0b2a1.png](https://img-blog.csdnimg.cn/img_convert/e59d90c2b479d242c0ae06d1c3a0b2a1.png)
![2ac673acc371d4302d5c56a0b31759f9.png](https://img-blog.csdnimg.cn/img_convert/2ac673acc371d4302d5c56a0b31759f9.png)
点进去这个类RedisAutoConfiguration,其中注解@EnableConfigurationProperties会加载RedisProperties配置类,prefix = "spring.redis" 表示SpringBoot配置文件中的前缀,SpringBoot会将配置文件中以spring.redis开始的属性映射到该类的字段中,然后就会读取到配置文件的配置,例如host和port,不加就为默认属性设置。
![ed2ca05d2d7dc6c0d3e35ad912cc56a5.png](https://img-blog.csdnimg.cn/img_convert/ed2ca05d2d7dc6c0d3e35ad912cc56a5.png)
![0423fecf63c9f7b430d55b764b1fa10c.png](https://img-blog.csdnimg.cn/img_convert/0423fecf63c9f7b430d55b764b1fa10c.png)
![7d1ceadef11729b837debe5ec9cb75aa.png](https://img-blog.csdnimg.cn/img_convert/7d1ceadef11729b837debe5ec9cb75aa.png)
4.spring boot 配置文件
1)配置文件类型
application.properties或者application.yml进行配置,SpringBoot默认会从Resources目录下加载application.properties或application.yml文件,本示例中是.properties文件是键值对格式的文件。
2)yml配置文件
2.1 YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互的,可以被支持YAML库的不同的编程语言程序导入,比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。YML文件的扩展名可以使用.yml或者.yaml。
2.2 yml配置文件的语法: key: value 的格式,对象格式,list格式和map格式省略。
![c96496eba7a9adfd091ff09570f7c57f.png](https://img-blog.csdnimg.cn/img_convert/c96496eba7a9adfd091ff09570f7c57f.png)
![cd57ac99ca48fd724930f28d91a2f904.png](https://img-blog.csdnimg.cn/img_convert/cd57ac99ca48fd724930f28d91a2f904.png)
![e7c69490bc1a682beee9a3d369f807da.png](https://img-blog.csdnimg.cn/img_convert/e7c69490bc1a682beee9a3d369f807da.png)
注意:如果application.properties和application.yml同时存在时,会优先加载前者:
![8256c9d46064b98dce5f5e56878c1c34.png](https://img-blog.csdnimg.cn/img_convert/8256c9d46064b98dce5f5e56878c1c34.png)
3) 配置文件与配置类的属性映射方式
3.1 使用@Value注解映射
![a0649f2ba62161cd56a186d85052c2a4.png](https://img-blog.csdnimg.cn/img_convert/a0649f2ba62161cd56a186d85052c2a4.png)
3.2 使用@ConfigurationProperties注解映射:
![609a5fcf684d92e83bf8f1578df3bf55.png](https://img-blog.csdnimg.cn/img_convert/609a5fcf684d92e83bf8f1578df3bf55.png)
注意:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法
5. spring boot 集成mybatis
1)添加mybatis依赖