欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 六、soul源码学习-SpringCloud项目本地运行

六、soul源码学习-SpringCloud项目本地运行

2025/10/11 7:42:31 来源:https://blog.csdn.net/caihuayuan4/article/details/145736662  浏览:    关键词:六、soul源码学习-SpringCloud项目本地运行

一、本地部署Nacos

Nacos本地部署可以参考:http://www.iocoder.cn/Nacos/install/?self

二、搭建SpringCloud项目

示例代码: https://github.com/wyc192273/soul-learn-project/tree/main/sofa-demo

  • 搭建了简单的SpringCloud服务后,需要在项目中引入如下依赖:
<!-- 引入 Soul 针对 Spring Cloud 的集成的依赖 --><dependency><groupId>org.dromara</groupId><artifactId>soul-spring-boot-starter-client-springcloud</artifactId><version>${soul.version}</version></dependency>
  • 修改application.yaml文件,添加如下配置
soul:springcloud:admin-url: http://localhost:9095context-path: /springcloudfull: true
# adminUrl: 为你启动的soul-admin 项目的ip + 端口,注意要加http://
# contextPath: 为你的这个mvc项目在soul网关的路由前缀,这个你应该懂意思把? 比如/order ,/product 等等,网关会根据你的这个前缀来进行路由.
# full: 设置true 代表代理你的整个服务,false表示代理你其中某几个controller
  • 在实现类上添加@SoulSpringCloudClient注解
@GetMapping("/get")
@SoulSpringCloudClient(path = "/user/get", desc = "获得用户详细")
public String getUser(@RequestParam("id") Integer id) {return "DEMO:" + id;
}
  • 设置SpringCloud插件

    需要设置soul的SpringCloud插件为开启状态,访问http://localhost:9095/#/system/plugin

    image.png
  • 启动项目,去http://localhost:9095/#/plug/springCloud看,发现注册成功了

    image.png

二、网关接入SpringCloud

在网关项目中pom引入如下依赖:

                <!--soul springCloud plugin start--><dependency><groupId>org.dromara</groupId><artifactId>soul-spring-boot-starter-plugin-springcloud</artifactId><version>${last.version}</version></dependency><dependency><groupId>org.dromara</groupId><artifactId>soul-spring-boot-starter-plugin-httpclient</artifactId><version>${last.version}</version></dependency><!--soul springCloud plugin end--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-commons</artifactId><version>2.2.0.RELEASE</version></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId><version>2.2.0.RELEASE</version></dependency>
  • 如果你使用 eureka 作为 springCloud的注册中心新增如下配置:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId><version>2.2.0.RELEASE</version></dependency>

在网关的yaml文件中 新增如下配置:

 eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/ # 你的eureka地址instance:prefer-ip-address: true
  • 如果你使用 nacos 作为 springCloud的注册中心新增如下配置:
 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.0.RELEASE</version></dependency>

在网关的yaml文件中 新增如下配置:

 spring:cloud:nacos:discovery:server-addr: 127.0.0.1:8848 # 你的nacos地址

重启网关

三、调用SpringCloud接口

image.png
image.png

调用都成功返回



喜欢的朋友记得点赞、收藏、关注哦!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词