Spring Boot框架是一个将整合框架的整合代码都写好了的框架。我们只需要通过SpringBoot提供的属性就可以整合各种框架。所以,如果要很好地找到这些属性,就需要了解SpringBoot的配置流程。
配置原理说明:
在spring-boot-autoconfigure-1.5.6.RELEASE.jar中编写了所有第三方框架的整合代码。所有支持的框架根据功能类型来划分包,每个包都有一个XxxAutoConfiguration配置类,都是一个基于纯注解的配置类,它是各种框架整合的代码。如图所示:
如果这些框架有默认的配置参数,都放在一个命名为XxxProperties的属性类,如图所示:
如果要在项目中修改这些框架的默认配置,可以在src/main/resources目录下新建一个名为application.properties的文件。然后加入要修改的属性。例如:
配置流程总结:
第一步:先到spring-boot-autoconfigure-1.5.6.RELEASE.jar找到对应的模块;
第二步:如果该框架有可以配置的参数,那么对应的整合模块中一定有一个XxxProperties类,在里面可以找可以设置的参数;
第三步:在resources源目录下的application.properties文件里面可以修改XxxProperties类中默认的参数;
配置文件:
默认情况下,Spring Boot会加载resources目录下的application.properties或application.yml来获得配置的参数。
方式一:application.properties
# 配置数据源
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot_db
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.type=com.mchange.v2.c3p0.ComboPooledDataSource
也可以把不同框架的参数配置在不同的application配置文件中,这样可以提高程序的可读性和可维护性。具体步骤如下:
1)在application.properties文件所在目录下增加多个application-xxx.properties配置文件,其中xxx是一个任意的字符串。
application-database.properties
application-jpa.properties
application-freemarker.properties
2)在application.properties文件中加载其他配置文件。
spring.profiles.active=database,jpa,freemarker
方式二:application.yml
YML文件格式是YAML(YAML Aint Markup Language)层级树键值对格式文件。其结构如下所示:
# 配置数据源
spring:
datasource:
url: jdbc:mysql://localhost:3306/test
driverClassName: com.mysql.jdbc.Driver
username: root
password: root
type: com.mchange.v2.c3p0.ComboPooledDataSource
其实application.yml配置文件就是将原来application.properties使用(.)分割的方式,改为树状结构,使用(:)分割。
注意:最后key的字段与值之间的冒号(:)后面一定要有一个空格。