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.总结
- 使用yaml文件的值给一个对象赋值,需要在对象上使用@ConfigurationProperties
- 此对象必须已经注入到容器中
- 要使@ConfigurationProperties注解生效,还必须在启动类上搭配使用@@EnableAutoConfiguration
以上是 1.springBoot_配置_yaml文件值获取 的全部内容, 来源链接: utcz.com/z/513984.html