在Spring属性文件中替换application.properties以外的环境变量

时间:2018-10-04 15:58:17

标签: java spring spring-boot properties-file

Spring Boot将使用相应的环境变量自动解析${ENV}文件中的所有application.properties占位符。

但是,当我通过quartz.properties文件提供PropertiesFactoryBean进行Quartz配置时,这种解决方法将不会发生。

@Bean
public Properties getQuartzProperties() throws IOException {
    PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
    propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));
    propertiesFactoryBean.afterPropertiesSet();
    return propertiesFactoryBean.getObject();
}

是否有任何Spring方式可以在不使用外部库的情况下替换属性文件中的这些环境变量?

1 个答案:

答案 0 :(得分:3)

您可以声明一个新类以提供属性(用@Configuration注释),还可以提及@PropertySource

@Configuration
@PropertySource("classpath:quartz.properties")
public class QuartzConfig {
      //...
}

通过这种方式,您的spring boot应用程序可以读取所需数量的属性文件。

相关问题