SpringBoot的配置⽂件
两个全局配置⽂件
SpringBoot是基于约定的,所以很多配置都有默认值,如果想要⽤⾃⼰的配置替换默认的配置,,就可以使⽤application.properties或者l(application.yaml)进⾏配置。
SpringBoot默认会从Resources⽬录下加载application.properties或l(application.yaml)【名称是固定的】⽂件
语法
配置普通数据
语法:
key: value
实例:
name: haohao
注意:value之前有⼀个空格
配置对象/map数据
语法:
key:springboot中文
key1: value1
key2: value2
或者:
key:{key1: value1,key2: value2}
实例:
person:
name: haohao
age:31
addr: beijing
#或者
person:{name: haohao,age:31,addr: beijing}
注意:key1前⾯的空格个数不限定,在yml语法中,相同缩进代表同⼀个级别配置数组(List、Set)数据
语法
key:
- value1
- value2
或者:
key:[value1,value2]
实例
city:
- beijing
- tianjin
- shanghai
- chongqing
#或者
city:[beijing,tianjin,shanghai,chongqing]
#集合中的元素是对象形式
student:
-name: zhangsan
age:18
score:100
-name: lisi
age:28
score:88
-name: wangwu
age:38
score:90
注意:value1与之间的 - 之间存在⼀个空格
两种写法
yml配置⽂件值注⼊
1、导⼊配置⽂件处理器,配置⽂件进⾏绑定会有提⽰
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>2.2.2.RELEASE</version>
<optional>true</optional>
</dependency>
2、 javaBean
anstar.quick_springboot.bean;
public class Dog {
private String name;
private Integer age;
@Component
@ConfigurationProperties(prefix ="person")
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Map<String, Object> maps;
private List<Object> lists;
private Dog dog;
3、 配置⽂件
person:
lastName: hello
age:18
boss:false
birth: 2018/01/10
maps:{k1:v1, k2:12}
lists:
- lisi
- zhangs
dog:
name:⼩狗
age:12
4、编写测试⽂件
D:\workspace\quick_springboot\src\test\java\com\oceanstar\quick_springboot\QuickSpringbootApplicationTests.java
@SpringBootTest
class QuickSpringbootApplicationTests {
@Autowired
Person person;
@Test
void contextLoads(){
System.out.println(person);
}
}
properties配置
1、去掉yml中的配置
2、application.properties中
person.age=11
person.birth=2018/11/12
person.boss=false
person.last-name=张珊
person.maps.k1=v1
person.maps.k2=v2
person.lists=a,b,v
person.dog.name=阿福
person.dog.age=1
3、如果出现中⽂乱码,需要设置编码为utf-8,并且转为ascii运⾏:File----》Settings-----》Editor----》File Encodings----》
两种注⼊⽅式
@ConfigurationProperties(prefix = “person”)
@Value
⽐较
如果只需要在某个业务逻辑中获取⼀下配置⽂件中的值,使⽤@Value
如果专门编写了⼀个javaBean和配置⽂件进⾏映射,就直接使⽤@ConfigurationProperties
注意:使⽤@ConfigurationProperties⽅式可以进⾏配置⽂件与实体字段的⾃动映射,但需要字段必须提供set⽅法才可以,⽽使⽤@Value注解修饰的字段不需要提供set⽅法
配置⽂件注⼊数据校验
其他配置⽂件
@PropertySource
作⽤:指定特定配置⽂件
内容
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论