SpringBoot注解配置文件自动映射到属性和实体类

2019-08-20  本文已影响0人  GambitP_P

1、简介

将配置文件映射到属性和实体类中。

2、配置文件映射类的属性

  1. application.properties配置文件
test.name=demo
  1. java类
@Controller
@PropertySource({"classpath:application.properties"}) //配置文件名称
public void contrller () {

    @Value("${test.name}") //配置文件中的属性名称
    private String name;
}

3、配置文件映射到实体类

  1. application.properties配置文件
test.username=root
test.password=123
@Component
@ConfigurationProperties(prefix="test")
@PropertySource(value="classpath:application.properties")
public class DataBaseConfig {
  
    private String username
    private String password;
}

4、常见问题:

  1. 配置文件注入失败,Could not resolve placeholder
    解决:根据springboot启动流程,会有自动扫描包没有扫描到相关注解,默认Spring框架实现会从声明@ComponentScan所在的类的package进行扫描,来自动注入,因此启动类最好放在根路径下面,或者指定扫描包范围。
  2. 注入bean的方式,属性名称和配置文件里面的key一一对应,就不用加@Value这个注解。如果不一样,就要加@Value("${XXX}")。
上一篇 下一篇

猜你喜欢

热点阅读