最近在使用SpringBoot的时候,springBoot配置一直无法生效,后面才发现原来是因为格式出错了
借此我来重温下SpringBoot的配置格式:
在springBoot配置中分为两种格式:
①、yaml配置
首先我们来看看维基百科怎么介绍:
我们来看看yaml配置与Xml配置之间的区别:
很明显yaml的配置明显比较小巧轻松
可能在后面我们的Xml配置就淘汰了
yaml的语法:
普通的key-value:
key: value(注意我们中间一定要有空格)
对象:
Object:
name: XX
age: XX
在我们的 yaml中我们通过缩进对我们的对象属性进行配置
行内写法:
Object{name: XX,age: XX}
数组
pets:
-cat
-dog
-pig
或者:
pets: {cat,dog,pig}
②、properties配置
格式:
key = value
总结:我们在以后的开发中我们更常用的是使用我们的yaml配置文件,而不是我们的properties
使用:
我们也可以使用yaml对我们的对象的属性进行注入
首先我们在我们的想要注入的实体类使用开启我们的注解
@component
@ConfigurationProperties(prefix = “XX”)
我们的ConfigurationProperties只能在容器中组件进行使用
然后我们在我们的配置文件application.yaml(注意我们只能使用application作为我们配置文件的name)文件中,使用
XX:
value1: XX
value2: YY
即可对我们的属性进行注入
然后就在我们的测试类中进行测试
此时爆了一个错误:
Error running 'StudyspringbootApplicationTests.contextLoads': Failed to resolve org.junit.platform:junit-platform-launcher:1.8.2
解决:
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<scope>test</scope>
</dependency>
加入该依赖即可
使用我们的配置文件properties进行注入:
首先我们在我们的pojo类上加载我们的配置文件:
@PropertySourece(value = classpath:XX.peoperties)
然后在相对应的属性上使用SPEL表达式
@value(“${XX}”)
即可
如果我们使用我们的properties对我们的相关属性注入在写中文的时候,我们可能会出现乱码
解决: