1.springBoot_配置_yaml文件值获取

编程

1.简单的创建一个springBoot的项目

创建项目的具体步骤,自行搜索。

2.创建一个实体类

package com.lara.bean;

import lombok.Data;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.stereotype.Component;

import java.util.Date;

import java.util.List;

import java.util.Map;

/**

* @author lara

* @date 2020/3/1 12:50

*/

@Component

@ConfigurationProperties(prefix = "person")

@Data

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;

}

上述代码使用到了

  • @Data注解,这是lombok的一个注解,使用此注解会自动为类的属性生成setter、getter、equals、hashCode、toString等方法。

    在idea中使用lombok需要安装一下lombok的插件

同时在项目中添加如下依赖:

        <dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<version>1.16.20</version>

<scope>provided</scope>

</dependency>

  • @ConfigurationProperties:将配置文件中相关属性的值映射到这个组件中,一般为了指明使用那些属性,会指明prifex的值。此注解一般搭配使用@EnableAutoConfiguration注解。意思就是使@ConfigurationProperties注解生效
  • @Component 因为@ConfigurationProperties是容器中的功能,因此需要将person组件添加到容器中

3.在启动类中添加@EnableAutoConfiguration

package com.lara;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

import org.springframework.boot.autoconfigure.SpringBootApplication;

/**

* @author lara

* @date 2020/2/22 16:40

*/

@SpringBootApplication

@EnableAutoConfiguration

public class HelloWorldApplication {

public static void main(String[] args) {

SpringApplication.run(HelloWorldApplication.class, args);

}

}

4.yaml配置文件添加属性的值

5.测试类测试

import com.lara.HelloWorldApplication;

import com.lara.bean.Person;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

/**

* @author lara

* @date 2020/3/1 12:55

*/

@RunWith(SpringRunner.class)

@SpringBootTest(classes = HelloWorldApplication.class)

public class HelloWorldApplicationTest {

@Autowired

Person person;

@Test

public void contextLoads(){

System.out.println(person);

}

}

6.总结

  1. 使用yaml文件的值给一个对象赋值,需要在对象上使用@ConfigurationProperties
  2. 此对象必须已经注入到容器中
  3. 要使@ConfigurationProperties注解生效,还必须在启动类上搭配使用@@EnableAutoConfiguration

以上是 1.springBoot_配置_yaml文件值获取 的全部内容, 来源链接: utcz.com/z/513984.html

回到顶部