02.26 SpringBoot的配置-002

1:配置文件

Springboot使用一个全局的配置文件,文件名固定;

<code>*application.properties**application.yml*/<code>

修改Springboot的默认值;YAML是一种编写配置的语言:

2:YAML的基本语法

1:基本语法

<code>server:  port: 8001  path:/hello/<code>
  1. 空格控制缩进,键值对形式,大小写敏感;
  2. 单引号会转义特殊字符,双引号就不会了;
  3. 对象的写法;
<code>friend:name:zhangsanage:19/<code>

4.数组

<code>arrylist:- cat- mao- gou或者:arrlist:[cat,dog,pig]/<code>

3.配置文件值的注入

配置文件的值

<code>person:  lastName: zhangsan  age: 18  boss: false  birth: 2019/3/2  map: {k1:va,k2:ds}  list:    - lisi    - zhangsan3  dog:    name: xiaogou    age: 29/<code>

主键里面的代码

<code>/*** 将配置文件中的每一个值,映射到这个组件中* @ConfigurationProperties 把本类中的属性和配置文件中的值对应起来* prefix = "person" 去配置文件中的哪个值下面找* */@Component@ConfigurationProperties(prefix = "person")public class Person {    private String lastname;    private Integer age;    private Boolean boss;    private Date birth;    private Map<string> maps;    private List<object> lists;    private Dog dog;    @Override    public String toString() {        return "Person{" +                "lastname='" + lastname + '\\'' +                ", age=" + age +                ", boss=" + boss +                ", birth=" + birth +                ", maps=" + maps +                ", lists=" + lists +                ", dog=" + dog +                '}';    }/<object>/<string>/<code>

将配置文件中的每一个值,映射到这个组件中 @ConfigurationProperties 把本类中的属性和配置文件中的值对应起来,prefix = “person” 去配置文件中的哪个值下面找。同时在使用*@ConfigurationProperties*时,要在配置文件pom.xml中加入这个

<code><dependency>     <groupid>org.springframework.boot/<groupid>     <artifactid>spring-boot-configuration-processor/<artifactid>     <optional>true/<optional>/<dependency>/<code>

最后测试一下

SpringBoot的配置-002

这个类可以做单元测试的

<code>import com.example.demo.bean.Person;import org.junit.jupiter.api.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.boot.test.context.SpringBootTest;/** * SpringBoot单元测试![在这里插入图片描述](https://img-blog.csdnimg.cn/20200217205222964.png) * */@RunWith(SpringRunner.class)@SpringBootTestclass DemoApplicationTests {    @Autowired    Person person;    Dog dog;    @Test    void contextLoads() {        System.out.println(person);    }}/<code>

@Autowired覆盖初始化函数跑起来这个类输出中可以看出,类里面的默认值已经被配置文件中的值绑定;

SpringBoot的配置-002

在application.properties文件的配置格式

SpringBoot的配置-002

编码问题:

SpringBoot的配置-002

SpringBoot的配置-002


分享到:


相關文章: