前置条件:
common类引入以下依赖:
<!-- nacos start 注册发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos end-->
<!-- nacos start 配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- nacos end 配置中心-->
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读取问题
<!--解决不能读取bootstrap.properties配置文件的问题-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.2</version>
</dependency>
问题二:解决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
配置上面的配置文件,应该可以启动成功