Spring Boot将使用各自的环境变量自动解析${ENV}
文件中的所有application.properties
占位符。
但是,当通过Quart配置的quartz.properties
文件提供PropertiesFactoryBean
时,将不会发生这种分辨率。
@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 boot应用程序可以读取所需数量的属性文件。