繁体   English   中英

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

[英]Replace environment variables in Spring properties file other than application.properties

Spring Boot将自动解析application.properties文件中的任何${ENV}占位符,以及相应的环境变量。

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

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

有没有Spring方法在不使用外部库的情况下替换属性文件中的这些环境变量?

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

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

通过这种方式,您的Spring启动应用程序可以根据需要读取任意数量的属性文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM