springboot设置默认值_最全面的SpringBoot配置文件详解

分类阅读(点击即可跳转阅读)

Spring Boot在工作中是用到的越来越广泛了,简单方便,有了它,效率提高不知道多少倍。Spring Boot配置文件对Spring Boot来说就是入门和基础,经常会用到,所以写下做个总结以便日后查看。

1、配置文件

当我们构建完Spring Boot项目后,会在resources目录下给我们一个默认的全局配置文件 application.properties,这是一个空文件,因为Spring Boot在底层已经把配置都给我们自动配置好了,当在配置文件进行配置时,会修改SpringBoot自动配置的默认值。

配置文件名是固定的application.properties

但我们可以修改为application.yml

这两个文件本质是一样的,区别只是其中的语法略微不同。

2、值的写法

application.properties 配置文件比较简单,形式如下key = value

application.yml 配置文件使用YMAL语言,YMAL不是如XML般的标记语言,更适合作为配置文件。

下面说下对于不同类型(字符串、数组)如何去规范书写。

2.1 数字,字符串,布尔

1、直接写

name=zhangsan

2、双引号

不会转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思

name: "zhangsan n lisi"

输出:

zhangsan

lisi

3、单引号

会转义特殊字符,特殊字符最终只是一个普通的字符串数据

name: ‘zhangsan n lisi’

输出:

zhangsan n lisi

2.2 对象、Map(属性和值)(键值对)

例如配置类中的字段为

Map maps;

在yml配置文件中,行内写法

person.maps: {key1: value1,key2: value2}

需要注意:号后的空格,或者

person:

maps:

key: value

在properties配置文件中

person.maps.key=value

2.3 数组(List、Set)

在yml配置文件中

person:

list:

- 1

- 2

- 3

行内写法

person:

list: [1,2,3]

在properties配置文件中

person.list[0]=1

person.list[1]=2

person.list[2]=3

3、自定义配置属性

Spring Boot提供自定义配置组件,拿前面举例的属性来写一个规范的配置文件

@Component // 或者@Configuration@ConfigurationProperties(prefix = "person")

public class Person {

private Map maps;

private List list;

private String name;

public Map getMaps() {

return maps;

}

public void setMaps(Map maps) {

this.maps = maps;

}

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

@ConfigurationProperties 注解向Spring Boot声明该类中的所有属性和配置文件中相关的配置进行绑定。prefix = "person":声明配置前戳,将该前戳下的所有属性进行映射。

@Component 或者@Configuration:将该组件加入Spring Boot容器,只有这个组件是容器中的组件,配置才生效。

4、配置自动提示

在配置自定义属性时,如果想要获得和配置Spring Boot属性自动提示一样的功能,则需要加入下面的依赖:

你可能感兴趣的:(springboot设置默认值)