首先在 service 的 pom 文件中导入依赖:
<!-- 配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
然后再 service-order 的 application.properties 中新增配置信息,引入nacos的配置文件:
如果引入的Nacos 配置中心的依赖,但是没有导入任何配置,则会报错:
如果说暂时这个服务用不上配置文件,但是又导入了 Nacos 配置中心的依赖,导致这时候程序启动不起来了,这个时候可以考虑引入这个配置:
表示我们当前禁用配置导入检查。这时候再启动程序就不会报错了。
接着在 Nacos界面新建配置,注意配置名称和 application.properties 中名称要对应起来
配置内容:
然后再 order-service 的 controller 层通过 @Value 注解进行配置获取:
访问对应 URL 可以打印出来这些配置信息:
如果想要在配置中心中实现配置修改的实时更新,则需要加上 @RefreshScope 注解:
这样在配置更新之后,程序读取到的就是配置更新之后的值:
如果配置项很多的话,可以考虑使用 @ConfigurationProperties 注解,可以无需@RefreshScope 来实现无感刷新。
注意变量采用驼峰命名法,prefix 后面的变量名与配置项要对应起来。
通过依赖注入的方式,依然能够获取到实时更新的配置项信息。