SpringBoot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重XML的配置,提供了各种启动器,在运行过程中自定配置, 开发者能快速上手。它的优势是独立运行、 简化配置、自动配置 、无代码生成和XML配置, 无需部署war文件。
-快速创建独立运行的spring项目与主流框架集成
-使用嵌入式的servlet容器,应用无需打包成war包
-starters自动依赖与版本控制
-大量的自动配置,简化开发,也可修改默认值
-准生产环境的运行应用监控
-与云计算的天然集成
SpringBoot 可以通过 @PropertySource,@Value,@Environment, @ConfigurationProperties 来绑定变量。
YAML是一种人类可读的数据序列化语言。它通常用于配置文件。与属性文件相比,如果我们想要在配置文件中添加复杂的属性,YAML文件就更加结构化,而且更少混淆。可以看出YAML具有分层配置数据。
.properties和.yml,它们的区别主要是书写格式不同。yml采取的是缩进的格式 不支持@PerpertySource注解导入配置。
SpringBoot配置加载顺序优先级是:propertiese文件、YAML文件、系统环境变量、命令行参数。
@SpringBootApplication是Spring Boot的核心注解
主要组合包含了以下3个注解:
1@SpringBootConfiguration: 组合了@Configuration 注解,实现配置文件的功能。
2@EnableAutoConfiguration: 打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
3@ComponentScan: Spring组件扫描
1)打包用命令或者放到容器中运行
2)用 Maven/ Gradle 插件运行
3)直接执行 main 方法运行
方式一:点击idea中pacakage插件,war包生成在target文件夹下
方式二:命令方式,通过输入maven打包命令mvn package 即可打war包成功,war包生成在target文件夹下!
添加如下文件,其中dev是开发环境,test是测试环境,prod是生产环境
application-dev.properties
application-test.properties
application-prod.properties
Spring Loaded和Spring-boot-devtools
可以兼容,使用 @ImportResource 注解导入老 Spring 项目配置文件。