通过自定义配置源可以接入自己的配置服务,配合ContextRefresher可以让应用运行中自动更新配置。
实现PropertySourceLocator
/**
* 自定义配置源
*/
public class MyPropertySourceLocator implements PropertySourceLocator {
@Override
public PropertySource<?> locate(Environment environment) {
String msg = new SimpleDateFormat("HH:mm:ss").format(new Date());
Map<String, Object> map = new HashMap<>();
map.put("demo.diy.msg", msg);
System.err.println("MyPropertySourceLocator, demo.diy.msg = " + msg);
//spring自带的一个简单的map结构配置集合,也可以继承PropertySource自定义
MapPropertySource source = new MapPropertySource("my-source", map);
return source;
}
}
配置类
@Configuration
p