
上篇记录了springboot读取apollo的配置信息,以及如何获取服务端的推送更新配置。
接下来记录一下,如何获取公共namespace的配置。
上文中使用如下代码共聚公共命名空间的配置:
@ApolloConfig("TEST1.MiddleWare")
private Config middleWareConfig;
这样只是获取了配置的集合对象,不能一一映射到具体的配置类中。
下面介绍一下,如何直接映射到配置类中。
先定义一个要映射的命名空间:
@Configuration
@EnableApolloConfig("TEST1.MiddleWare")
public class MiddleWareConfig { @Bean
public MiddleWareConfigBean middleWareConfigBean(){
return new MiddleWareConfigBean();
}
}
下面是具体的配置类Bean:
@ConfigurationProperties()
public class MiddleWareConfigBean { //@Value("${RedisServer}")
private String redisServer; public String getRedisServer() {
return redisServer;
} public void setRedisServer(String redisServer) {
this.redisServer = redisServer;
} @PostConstruct
void initialize(){
System.out.println("redisServer is " + redisServer); } }
这里使用的ConfigurationProperties注解,可以直接映射到字段上,也可以使用@Value,
ConfigurationProperties这种映射更加方便一些。