【发布时间】:2019-03-10 02:22:18
【问题描述】:
Spring Boot 将使用相应的环境变量自动解析 application.properties 文件中的任何 ${ENV} 占位符。
但是,当我通过 PropertiesFactoryBean 文件为 Quartz 配置提供 quartz.properties 时,不会发生这种分辨率。
@Bean
public Properties getQuartzProperties() throws IOException {
PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));
propertiesFactoryBean.afterPropertiesSet();
return propertiesFactoryBean.getObject();
}
是否有任何 Spring 方法可以在不使用外部库的情况下替换属性文件中的这些环境变量?
【问题讨论】:
-
您可以使用注解@PropertySource 来提及差异。基于环境的属性文件,称为spring profiling。请通过弹簧分析。
标签: java spring spring-boot properties-file