springboot读取配置文件数据的两种方式

springboot的配置文件比较简单,默认是一个application.properties文件,可以修改为.yml格式。

有时候我们读取配置文件中的数据,比如端口号,又或者需要自定义一些配置信息,但是又不想写成静态常量。这些情况下,我们可以通过@Value或者Spring上下文环境进行读取。

下面分别介绍这两种用法:

使用@Value读取配置文件信息

@Value("${logs.page_size}")
private Integer logPageSize; // 单次查询的pageSize

注意:使用这种写法时,所在类必须是被Spring管理的Bean类,也就是使用了@Service、@Controller、@Component、@Configuration等注解的类。


使用Spring上下文读取配置文件信息

在非Spring容器管理的类中想要读取配置文件信息,是不能直接使用@Value注解的。这个时候,我们可以使用Spring上下文。

获取springboot上下文:

SystemVariable.context =  SpringApplication.run(MyApplication.class, args);
public class SystemVariable {
    public static ApplicationContext context; // spring上下文
}

读取数据:

String limit = SystemVariable.context.getEnvironment().getProperty("limit");
相关推荐
©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页