企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
演示目的:将项目cloudalibaba-config-nacos-client-3377 的配置信息存储到Nacos服务中,默认会将配置文件存储在`%NACOS_HOME%\data`目录下。 <br/> 步骤如下: **1. 构建模块:cloudalibaba-config-nacos-client-3377** **2. 在当前模块的`pom.xml`添加 alibaba-nacos-config 依赖** ```xml <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> ... </dependencies> ``` **3. 当前模块的配置文件** (1)`bootstrap.yml` ```yml server: port: 3377 spring: application: name: nacos-config-client cloud: nacos: discovery: server-addr: localhost:8848 #Nacos服务注册中心地址 config: server-addr: localhost:8848 #Nacos作为配置中心地址 file-extension: yaml #指定配置文件为yaml格式 ``` (2)`application.yml` ```yml spring: profiles: active: dev ``` **4. 在当前模块创建ConfigClientController类,方便观察效果** ```java @RestController @RefreshScope //支持nacos的动态刷新功能 public class ConfigClientController { @Value("${config.info}") private String configInfo; @GetMapping("/config/info") public String getConfigInfo() { return configInfo; } } ``` **5. 在当前模块的启动类上标注注解`@EnableDiscoveryClient`** ```java @SpringBootApplication @EnableDiscoveryClient public class ConfigNacosMain3377 { public static void main(String[] args) { SpringApplication.run(ConfigNacosMain3377.class,args); } } ``` **6. 在Nacos上创建配置文件** (1)配置文件必须按照如下规则命名。 ``` ${prefix}-${spring.profile.active}.${file-extension} 上面的三部分是boostrap.yml,或这application.yml上对应的属性的值。 prefix:为spring.application.name的值,或者spring.cloud.nacos.config.prefix的值 spring.profile.active:就是spring.profile.active的值 file-extension:为spring.cloud.nacos.config.file-extension的值,目前取值只能是properties或者yaml 例如,在这里Nacos配置文件的命名就是:nacos-config-client-dev.yaml ``` (2)创建配置文件`nacos-config-client-dev.yaml`。 ![](https://img.kancloud.cn/03/5f/035f5c7a8eec856b75a3dd75d0ccf80d_1662x782.png) 创建完成后可以看到多了一个配置文件。 ![](https://img.kancloud.cn/fe/f9/fef9f9a583505078aade24966099d147_1893x406.png) **7. 测试** (1)启动当前模块,访问 http://localhost:3377/config/info 得到如下结果,说明可以读取到Nacos上的配置文件了。 ``` config info dev, from nacos config ceter, version=1.0 ``` (2)动态刷新演示。 到Nacos上修改文件 nacos-config-client-dev.yaml,不用重启项目,然后刷新页面,发现也同步更新了,说明Nacos可以动态刷新。 ``` config info dev, from nacos config ceter, version=2.0 ```