服务启动没有去读取配置中心
背景:
起了一个 springboot 服务,在bootstrap.yml 文件中配置了配置中心的文件,但服务启动的时候,没有读取去读取配置中心
1、没有添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
emm,发现并没有多大用
但发现这个依赖并没有引入,因为版本问题?加个版本号(为什么其它模块也并没有添加这个版本号,它也是可以自动依赖进来的呀,有点没想明白(这儿用的是springboot 1.5.7)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
<version>1.3.2.RELEASE</version>
</dependency>
启动,
终于打印了 Fetching config from server at:
第一步算是完成了。
但再往下启动,还是报错了,说,还是没有读取到配置,配置项没弄好?
补一下知识点,如果配置文件用了这个注解,
@ConfigurationProperties(prefix = "sso.oauth")
并且属性是这样写的
@Value("${clientId:}")
private String clientId;
这儿需要给一个默认值,空的默认值也行,也就是说,必须带个“:” (观察发现,并不知道个中原因)
或者不要用上面的那个注解 @ConfigurationProperties
属性就写全路径:
@Value("${sso.oauth.clientId}")
private String clientId;
这样也是可以的
又或者,不要带上 @Value, 也是可以的,它会自动匹配属性,如果不用写默认值,推荐使用这种写法,简单,也明了。