摘要spring cloud alibaba2022版本分布式框架搭建示例之集成Nacos。一、pom.xml文件新增依赖配置父项目的pom.xml新增nacos注册中心与配置中心截图如下版本仍然是2022.0.0.0(因为2022.0.0.0版本的spring-cloud-alibaba-dependencies的jar里包含nacos的注册中心与配置中心的依赖包)。!-- Nacos注册中心 -- dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId version${spring-cloud-alibaba.version}/version /dependency !-- Nacos配置中心 -- dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId version${spring-cloud-alibaba.version}/version /dependency子项目user-service里的pom.xml文件添加nacos的注册中心与配置中心。!-- Nacos注册中心 -- dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency !-- Nacos配置中心 -- dependency groupIdcom.alibaba.cloud/groupId artifactIdspring-cloud-starter-alibaba-nacos-config/artifactId /dependency二、nacos里新建命名空间新建一个dev命名空间作为开发环境的配置。三、子项目新建bootstrap.ym(删除原来application.yml文件)bootstrap.yml文件spring: application: name: order-service cloud: # 配置Nacos nacos: # 配置Nacos配置中心 config: server-addr: 127.0.0.1:8848 namespace: 2462763c-8aac-4783-ba62-030d43f95e52 file-extension: yml # 配置Nacos服务发现 discovery: server-addr: 127.0.0.1:8848 namespace: 2462763c-8aac-4783-ba62-030d43f95e52 config: import: - nacos:${spring.application.name}-${spring.profiles.active} logging: file: path: classpath:logback-spring.xml四、启动类添加注解EnableDiscoveryClientpackage org.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; SpringBootApplication EnableDiscoveryClient // 启用服务发现客户端 public class GoodsServiceApplication { public static void main( String[] args ) { SpringApplication.run(UserServiceApplication.class, args); } }成功启动运行类后如下。2026-06-29 16:37:25.330 INFO 5624 --- [ main] c.a.c.n.refresh.NacosContextRefresher : [Nacos Config] Listening config: dataIduser-service, groupDEFAULT_GROUP 2026-06-29 16:37:25.958 INFO 5624 --- [RMI TCP Connection(1)-192.168.0.49] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet dispatcherServlet 2026-06-29 16:37:25.961 INFO 5624 --- [RMI TCP Connection(1)-192.168.0.49] o.s.web.servlet.DispatcherServlet : Initializing Servlet dispatcherServlet 2026-06-29 16:37:25.963 INFO 5624 --- [RMI TCP Connection(1)-192.168.0.49] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms五、查看nacos的服务列表是否注册成功六、扩展——nacos动态参数的配置说明拿user-service项目做演示配置。6.1、nacos新建配置文件配置内容如下user: configKey: test-config36.2、新建一个配置管理类package org.example.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.stereotype.Component; Data Component RefreshScope // 支持配置刷新 ConfigurationProperties(prefix user) // 使用prefix指定配置前缀例如user.*将被注入到此类的属性中。 public class ApplicationConfigManager { private String configKey; }6.3、启动类配置注解EnableConfigurationPropertiespackage org.example; import org.example.config.ApplicationConfigManager; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; SpringBootApplication EnableDiscoveryClient // 启用服务发现客户端 EnableConfigurationProperties(ApplicationConfigManager.class) //启用配置属性 public class GoodsServiceApplication { public static void main( String[] args ) { SpringApplication.run(UserServiceApplication.class, args); } }6.4、验证动态值6.4.1、DemoController的修改package org.example.controller; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.example.config.ApplicationConfigManager; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; Slf4j RestController RequestMapping(value /demo) AllArgsConstructor // 自动注入依赖 public class DemoController { private final ApplicationConfigManager applicationConfigManager; GetMapping(value /getNacosConfigValue) public String test(){ log.info(测试获取nacos的动态配置); return applicationConfigManager.getConfigKey(); } }6.4.2、启动项目访问web接口变量的赋值6.4.3、修改nacos配置文件的变量值nacos的变量值修改保存后服务有监听到之变有变更日志如下6.4.4、访问web接口变量的赋值