一.springboot配置文件
springboot默认加载文件是在classpath根目录的application.properties(或者可以使用application.yml)配置文件,springboot支持前面俩种格式的配置文件
二.配置web服务器
1.springboot的服务器选择,以及参数的修改
1.1.springboot默认内嵌了一个web服务器(Tomcat)
1.2.springboot的参数就是在配置在springboot的配置文件中里面的,所以在springboot的配置文件里面配置
2.格式配置
2.1properties格式配置
---------properties文件的属性,使用的平铺方式书写
## 设置server参数
## 端口
server.port=8081
## 设置上下文路径
server.servlet.context-path=/springboot-quickStart-properties
2.2 yml格式设置
---------yml文件的属性使用折叠的方式去书写
## 设置server参数
## 注意事项:
## 【1】冒号和参数值之间必须要隔一个空格,否则报错
## 【2】属性设置是有层级之分的
server:
port:8082
servlet:
context-path:/springboot-quickStack-yml
3.多配置文件
需求:希望可以配置多个配置文件,分类存放配置信息
3.1properties配置步骤
第一步:编写三个配置文件
application.properties
application-server1.properties
application-server2.properties
第二步:编写配置文件内容
1.springboot启动的时候加载的是application.properties
配置文件,再通过application.properties配置文件的spring-profiles.active属性指定加载的其他配置文件
2.其他配置文件的文件名格式为:application-xxx.properties
---------application.properties
## 指定加载其他配置文件
spring.profiles.active=server1,server2
----------application-server1.properties
## 端口
server.port=8083
-----------application-server2.properties
## 设置上下文路径
server.servlet.context-path=/springboot-quickStart-properties
第三步:运行项目
---------成功结果
3.springboot运行原理
springboot运行流程图:
启动流程
第一步:springboot通过加载贴在入口执行类上面的@springbootApplication注解,来启动SpringBoot项目
第二步:根据贴在@SpringBootApplication注解上的三个注解@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan,来加载SpringBoot配置类,自动加载的配置类,组件类
3个注解的功能
@SpringBootConfiguration:标识一个类是配置类
@EnableAutoConfiguration:标识这是一个自动加载的配置类,在springboot启动的时候就自动加载配置类中的组件到容器中
@ComponentScan:标识需要组件扫描的包,在SpringBoot中,包扫描给入口类所在包及其入口类的子包
SpringBoot内置支持的组件在spring-boot-autoconfigure-2.2.2.RELEASE.jar里面。如该包下的jdbc分包下的DataSourceAutoConfiguration:
其中EnableConfigurationProperties注解用于加载用户配置的参数信息
DataSourceProperties的作用就是标识配置文件中那些信息是DataSource使用的,标识的方式就是使用"spring.datasource"前缀
可得:自动加载的配置类信息都在XxxAutoConfiguration里面,配置的属性参数都在XxxxxProperties里面
------------执行原理图:
通过执行原理图,可以知道SpringBoot是如何实现自动装配的
============================================================================================================
1.profiles可以让spring对不同的的环境提供不同配置的功能,可以通过激活,指定参数等方式快速切换环境
设成dev就是开发环境
设成prod就是生产环境
设成test测试环境
2.基于springboot管理
就是俩种格式,分别在application.properties,application.yml下设置参数
3.基于maven的profiles管理
使用activeByDefault设置激活
在settings.xml中使用activeProfiles指定处于激活状态的profile
使用-p参数显示的激活
mvn clean install -Pgray
mvn clean install -P gray
mvn clean install -Pgray.test
使用-p参数显示的不激活
mvn clean install -p ! gray
查看当前处于激活状态的profile
mvn help.active-profiles
不同环境依赖不同的版本或jar包,插件
生产环境依赖的jar包必须是release版本
测试环境依赖的jar包可以是snapshot版本。这个时候就可以用profiles去管理不同环境的依赖
idea上管理maven profiles
在maven面板上,Maven→ Profiles