读取application.properties或application.yml文件

1. 使用@Value读取配置文件

文件名: application.properties

name=1
user1.name=11

文件名: application.yml

name=2
user1.name=22

读取

   @Value("${name}")
    private String name;
    @Value("${user1.name}")
    private String name1;

结果

1
11

结论:
@Value不能在静态成员上使用(属性不能是static的)
@Value读取属性值的类对象需要交给spring容器管理
@properties和yml结尾的文件Value注解都可以读取
@properties和yml结尾的文件如果有相同名字的配置会按照装配的顺序读取,
装配的顺序是yml > properties,所以如有相同名字会使用properties结尾的文件中的值

2. 通过@ConfigurationProperties(prefix=“****”)来读取

读取

@Data
@Component
@ConfigurationProperties(prefix="user1")
public class TestBean{
    String name;
}

3. 通过@Value和@PropertySource结合取值

@Component
@PropertySource("classpath:applications.properties")
public class TestBean{
    @Value("${name}")
    private String name;
    @Value("${user1.name}")
    private String name1;

4. 通过@ConfigurationProperties和@PropertySource结合取值

@Component
@ConfigurationProperties(prefix="user1")
@PropertySource("classpath:applications.properties")
public class TestBean{
    String name;//获取到的是applications.properties 文件中的user1.name的值
}

版权声明:本文为weixin_47790139原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_47790139/article/details/127528655