Преобразовать путь в файле свойств для использования XML и Java - PullRequest
0 голосов
/ 12 июня 2018

У меня есть веб-приложение Spring (на самом деле это веб-приложение Spring Integration, но я предполагаю, что это общий вопрос), настроенное с использованием файла XML.

Это объявление PropertySource :

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;

@Configuration
@PropertySource("classpath:config.properties")
public class WebappConfig {

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
        return new PropertySourcesPlaceholderConfigurer();
    }

}

Вот выдержка из содержимого файла, это набор путей к файловой системе:

baseFolder=C:\\Users\\myuser\\Documents\\data
baseFolderXML=C:/Users/myuser/Documents/data

Они объявлены дважды, потому что мне нужно одно и то же значение в обоих файлах Java иXML-файл контекста Spring, и я не нашел способа автоматически преобразовать одну форму в другую.

Пример использования в XML-файле контекста:

<int-file:outbound-channel-adapter order="1"
            channel="filesOut" delete-source-files="false"
            directory="file:${baseFolderXML}/out"
        />

Пример в классе Java:

public class RequestToMessageFile {

    @Autowired
    private Environment env;

    private static String workingFolder;

    // ...

    @PostConstruct
    public void init() {
        workingFolder = env.getProperty("baseFolder") + File.separator + "in-http";
    }

    // ...

Есть ли способ, чтобы каждый путь был определен только один раз и преобразован при использовании в файле XML и в источниках Java?

...