1
我正在使用Apache Maven和Spring。在src/main/resources文件夾中我有一個屬性文件。這些屬性值可以有不同的值。Java在運行時重寫屬性文件
我正在使用PropertyPlaceholderConfigurer。
@Configuration
public class ResourceConfig {
@Bean
public PropertyPlaceholderConfigurer properties() {
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
ppc.setIgnoreResourceNotFound(true);
ppc.setLocations(new ClassPathResource[] {new ClassPathResource("propertiesFile")});
return ppc;
}
}
我在運行時替換這些值:
@Configuration
public class DataSourceConfig {
@Value("${jdbc.url}")
private String jdbcUrlDefault;
}
這僅僅是一個樣品。我有一個主要方法:
public static void main(String[] args) {
// accept a properties file and replace those values defined in DataSourceConfig class
}
當Apache Maven構建應用程序時,屬性文件將位於類路徑中。屬性文件在單元測試期間使用。我想要介紹如何在主程序啓動生產之前用新的屬性文件替換屬性。
我見過一些Properties.load()的例子,但我不想這樣做。我想通過被替換的主程序接受一個屬性文件,所以Spring端啓動PropertyPlaceholderConfigurer。
這是如何實現的?
這我明白想要的資源文件,但這個想法是接受一個屬性在命令提示文件啓動Java時。我不想將生產屬性文件放在src/main/resources中。 – user 2014-09-04 09:16:00
實際上可以做到嗎? – user 2014-09-04 10:22:41