Замените переменные среды в файле свойств Spring, кроме application.properties - PullRequest
0 голосов
/ 04 октября 2018

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 голосов
/ 04 октября 2018

Вы можете объявить новый класс для предоставления свойств (аннотированный @Configuration), а также упомянуть @ PropertySource

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

Таким образом, приложение весенней загрузки может читать столько файлов свойств, сколько вы хотите.

...