概要
nacos 可以作為服務注冊發現中心,也可以作為配置中心,作為配置中心的時候,系統的配置可以做到自動刷新,即當配置服務器的數據發生更改時,客戶端的配置會進行自動的更新。
實現步驟
1.修改maven 配置
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
2.增加bootstrap.properties
這個是文件是啟用nacos作為配置中心的文件。

圖標有朵雲,表示啟用nacos 作為配置中心。
//配置nacos作為配置服務器
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
//配置模式為開發模式
spring.profiles.active=dev
//nacos配資使用yml 作為擴展名
spring.cloud.nacos.config.file-extension=yml
//下面的配置時公共配置,即可以在不同應用之間進行共享。
spring.cloud.nacos.config.shared-dataids=common.yml
spring.cloud.nacos.config.refreshable-dataids=common.yml
springcloud 是使用配置優先的。
比如我現在有一個應用為:
jpaas-form
系統會按照如下的配置進行查找
1.先找 jpaas-form-dev.yml,如果找到了則返回,如果找不到則進行下一步。
2.查找 jpaas-form.yml 如果找不到,則查找共享的配置,根據上面的配置他會查找common.yml

這里配置格式,可以是 yaml 或者 properties
3.在程序中使用
@RefreshScope public class SysSeqIdController extends BaseController<SysSeqId> { @Value( value = "${user.name}") private String username=""; @Value( value = "${sys.name}" ) private String uploaddir=""; @Autowired private User user;
@RefreshScope 是實現自動刷新配置。
user.name,sys.name 是配置的參數
可以使用 yml 的格式進行配置。
![]()
我們還可以配置對象的方式進行參數進行注入,使用相當方便。
比如:
user:
name: ray
address: guangzhou
編寫用戶代碼如下:
@Data @Component @ConfigurationProperties(prefix = "user") public class User { private String name=""; private String address=""; }
這樣 數據就會自動配置好用戶對象,使用下面的代碼進行注入。
@Autowired private User user;
同樣,這個對象在配置中心修改后也能進行自動刷新。
4.將數據庫配置放到nacos 配置中心。
我們一般將數據庫配置,配置到 application.properties 文件中,這有個壞處,當我需要打包時,需要在啟動時,指定這些配置,配置會太多。
因此,我們需要將這些配置放置到 nacos ,在啟動應用的時候,我們只需要指定 nacos 的地址,這樣我們 就可以啟動微服務應用。
當數據庫配置等需要修改時,我們只需修改naocs的配置即可,不需要修改程序包。
nacos配置如下:

程序配置中心配置如下:

在bootstrap-dev.properties 指定 nacos的配置 nacos-config-dev.properties

在 IDEA 中指定 配置 nacos.address

使用命令行啟動微服務
java -jar jpaas-user.jar --nacos.address=192.168.1.10:8848 指定配置中心地址。
