Springboot读取配置文件
在springboot中配置文件的形式有两种,第一种是传统的properties形式,第二种是yml格式的文件,也是spring官方推荐的配置形式,结构比较清晰。
下面以一个简单的数据源配置来看一下两种配置文件的区别:
在properties种是这样的:
spring.datasource.url=jdbc:mysql://localhost:3306/consult
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
而在yml文件种是这样的:
spring:
datasource:
url: jdbc:mysql://localhost:3306/cfcc_pt
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
从中不难看出,yml形式的配置更为简洁,易懂。
但两者的读取方式都是一样的。
1.首先在demo工程的pom文件中加入以下的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 支持 @ConfigurationProperties 注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
2.在resources源文件下新建application.yml文件,在这当中配置一个稍微复杂一点的结构:
myProps:
simpleProp: simplePropValue
arrayProps: 1,2,3,4,5
listMapProps:
- name: abc
value: abcValue
- name: def
value: defValue
listStrProp:
- strValue1
- strValue2
mapProps:
key1: value1
keys: value2
从配置文件中分析可知,它的根节点为myProps,
1.他的第一个属性为simpleProp,值是一个字符串;
2.第二个属性为arrayProps,值是一个包含五个整型的数组;
3.第三个属性可以理解为一个list里面装了一个map,里面有两条数据;
4.第四个属性则是一个list里面装的