前置条件:
common类引入以下依赖:
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
1)在nacos上创建配置文件
2)创建成功后
3)本地创建bootstrap.properties
#服务名称 spring.application.name=mall-coupon #配置文件nacos地址 spring.cloud.nacos.config.server-addr=192.xxx.xx.xx:8848 #注册与发现nacos地址 spring.cloud.nacos.discovery.server-addr=192.xxx.xx.xx:8848 #指定配置文件类型 spring.cloud.nacos.config.file-extension=properties #data-id spring.cloud.nacos.config.name=mall-coupon
4)在具体服务启动类增加注解
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.example.mall.coupon.dao")
@EnableDiscoveryClient
public class CouponApplication {
public static void main(String[] args) {
SpringApplication.run(CouponApplication.class, args);
}
}
问题一:bootstrap.properties未生效
配置了bootstrap.properties配置文件,从nacos读取配置,但是感觉并没有走nacos,继续读的本地配置(application.yml/或其他配置文件)。
解决办法:删除本地配置文件,只留bootstrap.properties,先成功连接上nacos配置中心
此时如果没连接上nacos,会报一些配置文件错误,比如mysql连接错误等。
引入以下依赖,解决bootstrap.properties读取问题
org.springframework.cloud
spring-cloud-starter-bootstrap
3.0.2
问题二:解决nacos连接问题(若bootstrap.properties配置文件没生效,详细阅读上面的解决办法)
#服务名称 spring.application.name=mall-coupon #配置文件nacos地址 spring.cloud.nacos.config.server-addr=192.xxx.xx.xx:8848 #注册与发现nacos地址 spring.cloud.nacos.discovery.server-addr=192.xxx.xx.xx:8848 #指定配置文件类型 spring.cloud.nacos.config.file-extension=properties #data-id spring.cloud.nacos.config.name=mall-coupon
配置上面的配置文件,应该可以启动成功


![连接nacos服务器报错,显示/nacos/v1/ns/instance after all servers([localhost:8848]) 连接nacos服务器报错,显示/nacos/v1/ns/instance after all servers([localhost:8848])](http://www.mshxw.com/aiimages/31/531553.png)
