一、在pom.xml中添加配置
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2021.0.4.0</version> <type>pom</type> </dependency> <!-- nacso注册--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2021.0.4.0</version> </dependency> <!-- nacso配置--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2021.0.4.0</version> </dependency>
注意对于我来说,上述版本支持springboot版本如下:
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.14-SNAPSHOT</version>
(1)如果你的springboot版本不是这个,恰巧出现了这个错误“Error creating bean with name ‘configurationPropertiesBeans‘ defined in class path resource”,这说明是springboot和nacos版本出现了不匹配的问题,解决方法见“SpringBoot、SpringCloud、Spring Cloud Alibaba版本对照表(详细)_springboot版本号大全_天真吖415的博客-CSDN博客”可能没有详细的springboot版本,但是可以根据接近版本测试一下,我就是测试出来好用的。
(2)上述问题解决,有可能出现这个错误“No spring.config.import property has been defined.关于SpringCloud”,这是因为我使用了springcloud2020以上的版本(上述依赖),springcloud2020版默认禁用了bootstrap,如果需要使用bootstrap需要自己手动引入对应的依赖。依赖如下:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>3.1.7</version> </dependency>
二、在resources新建bootstrap.properties文件,用来配置nacos的名字、地址等等。如下:
spring.application.name=spring-cloud-client //名字随便起 spring.cloud.nacos.discovery.server-addr=10.88.204.138:8848 //注册地址 spring.cloud.nacos.config.server-addr=10.88.204.138:8848 //配置地址 spring.cloud.nacos.config.namespace=test spring.cloud.nacos.config.group=test spring.cloud.nacos.config.prefix=lxk spring.profiles.active=activeLxk spring.cloud.nacos.config.file-extension=properties
上述可能有的没有用,都放上去不影响跑起来。
三、新建controller在上面加注解
@RestController @RefreshScope(动态刷新,也用另一种刷新方式,但是我没有学习)
四、在启动类上加注解
@SpringBootApplication @EnableDiscoveryClient(一定要加)
我就是因为不加所以连接的地址一直是本地的ip加8848,所以一定要加,程序才能扫描到你的配置文件,找到配置地址。