Oinone项目引入Nacos作为注册中心,调用外部的SpringCloud服务
Nacos可以做为注册中心,提供给Dubbo和SpringCloud等微服务框架使用。
目前Oinone的底层使用的是Dubbo进行微服务的默认协议调用,但是我们项目如果存在需要调用其他系统提供的SpringCloud服务,Oinone其实并没有限制大家去这么写代码。
可以参考Nacos或SpringCloud的官方文档,只要不存在Jar包冲突等场景,很多的扩展其实大家都可以使用。
注意!!!Nacos、SpringCloud、SpringCloudAlibaba是有依赖版本严格要求的:点击查看
具体示例:
一、项目中增加依赖
主pom引入兼容的版本:
<dependencyManagement>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.7.RELEASE</version> <!-- 目前兼容的版本 -->
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>
使用模块的pom引入依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
二、 配置 application.yml
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848
username: nacos
password: nacos
三、启动类添加注解
@EnableDiscoveryClient
@EnableFeignClients
public class NacosConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConsumerApplication.class, args);
}
}
四、验证
创建 Feign Client 接口
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
@FeignClient(name = "nacos-demo") // 指定目标服务的名称
public interface ProviderClient {
@GetMapping("/hello")
String hello();
}
创建 Controller 调用 Feign Client
@RestController
public class ConsumerController {
private final ProviderClient providerClient;
public ConsumerController(ProviderClient providerClient) {
this.providerClient = providerClient;
}
@GetMapping("/hello")
public String hello() {
return providerClient.hello();
}
}
在浏览器中访问 http://localhost:8082/hello
你应该会看到服务提供者返回的响应。
Oinone社区 作者:冯, 天宇原创文章,如若转载,请注明出处:https://doc.oinone.top/kai-fa-shi-jian/13403.html
访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验