引用方法
由于不知道是否可以通过使用@PropertySource注解的形式,因而采用了网络中比较通用的代码形式
直接先上代码
1、不论是引用yml还是properties 都要编写一个类实现EnvironmentPostProcessor,但是两者解析的形式稍微有些不一样。
a、properties格式
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
File file = new File(configPath);
if (file.exists()){
MutablePropertySources propertySources = environment.getPropertySources();
Properties properties = loadProperties(file);
propertySources.addFirst(new PropertiesPropertySource("Config",properties));
}
}
private Properties loadProperties(File file){
FileSystemResource resource = new FileSystemResource(file);
try{
return PropertiesLoaderUtils.loadProperties(resource);
}catch (IOException e){
throw new IllegalStateException("Failed to load