SpringCloud整合Nacos实现流程详解SpringCloud 版本
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Nacos pom
<!--配置中⼼pom-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${alibaba-nacos-config.version}</version>
</dependency>
<!--服务发现pom-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${alibaba-nacos-discovery.version}</version>
</dependency>
数据库pom
<dependency>
<groupId>com.alibaba</groupId>
spring启动流程面试回答<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${version}</version>
</dependency>
order 项⽬ l 配置
spring:
application:
name: order-server
profiles:
active: dev
cloud:
nacos:
config:
server-addr: 10.0.0.51:8848 # 配置中⼼nacos的地址
file-extension: yml # 配置⽂件后缀(格式)
group: business-app # 分组名称
namespace: ${spring.profiles.active} # 命令空间,可以⽤来区分不同的环境
discovery:
server-addr: 10.0.0.51:8848 # 服务发现地址nacos的地
namespace: ${spring.profiles.active}
server: port: 8056
在 Nacos的控制台左侧到命名空间的菜单,新增命名空间
命名空间id : dev
命名空间名称: dev
描述:开发环境
配置中⼼功能-测试
在配置管理-》配置列表右侧,到 + 的标志,点击后新增配置
将yml 中的配置添⼊进去
之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的⼀部分。
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.fig.prefix来配置。
spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot⽂档。注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-
extension}
file-exetension 为配置内容的数据格式,可以通过配置项 spring.fig.file-extension 来配置。⽬前只⽀持 properties 和 yaml 类型。
上⾯配置好后,可以启动项⽬
启动⽇志:
Ignore the empty nacos configuration and get it based on l] & group[business-app]
2020-09-16 14:05:07.053 WARN 27342 --- [      main] NacosPropertySourceBuilder  : Ignore the empty nacos configuration and get it based on l] & group[business-app]
2020-09-16 14:05:07.053 INFO 27342 --- [      main] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='l,business-app'}, NacosP 2020-09-16 14:05:07.077 INFO 27342 --- [      main] der.OrderApplication        : The following profiles are active: dev
从⽇志可以看到他会从nacos上匹配 based on l] & group[business-app] 和 [l] & group[business-app] 配置⽂件。并且项⽬也是启动成功的,因为项⽬中加⼊了数
据库的pom,如果没有获取到配置会启动失败。
服务发现功能-测试
按照上⾯yml 中的配置,启动后在服务列表中看到我们的项⽬
按照上⾯的配置,再创建⼀个项⽬ account-server ,注意修改新项⽬的spring.application.name
在order 项⽬的pom中添加feign 配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
测试⽤户下单成功后,扣减帐户钱。order 调⽤ account 服务,使⽤feign,跟⼀般的feign使⽤⼀样。启动account服务
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。