一 简单的使用
1. 所需的依赖和版本
<spring-boot.version>2.6.11</spring-boot.version> <spring-cloud.version>2021.0.4</spring-cloud.version> <spring-cloud-alibaba.version>2.2.9.RELEASE</spring-cloud-alibaba.version> <dependencies> <!-- bootstrap.yml 需要依赖这个包才会生效 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> </dependency> <!-- nacos注册中心 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- nacos配置中心 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> </dependencies>
2. yml 配置文件和简单的解释
spring: application: # 对配置中心来说,这个 name 会使引用配置的前缀 prefix :${prefix}-${spring.profiles.active}.${file-extension} name: what-product cloud: nacos: # 配置中心配置项 config: # nacos IP:PORT server-addr: ${spring.mynacos.server-addr} # 一般就是 DEFAULT_GROUP group: ${spring.mynacos.group} # 命名空间的 id namespace: ${spring.mynacos.namespace} # nacos 用户名 username: ${spring.mynacos.username} # nacos 密码 password: ${spring.mynacos.password} # 配置中心配置文件的后缀 :${prefix}-${spring.profiles.active}.${file-extension} file-extension: yml # 统一配置文件,所有模块共用的配置文件 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 注册中心配置项 discovery: server-addr: ${spring.mynacos.server-addr} username: ${spring.mynacos.username} password: ${spring.mynacos.password} namespace: ${spring.mynacos.namespace} profiles: # spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension} active: dev #通过---区分环境 --- spring: config: activate: on-profile: dev mynacos: server-addr: xxx:8848 namespace: xxx group: DEFAULT_GROUP username: nacos password: nacos --- spring: config: activate: on-profile: test mynacos: server-addr: xxx:8848 namespace: xxx group: DEFAULT_GROUP username: nacos password: nacos
想不通的问题:
1. 很多文章中都说需要加上 @EnableDiscoveryClient 注解;但是我在学习当中并没有添加这个注解就能注册到 nacos 中,期待在后续 nacos 源码的学习当中找到答案;
浙公网安备 33010602011771号