dubbo入门教程:基于dubbo实现服务之前调用
Dubbo学习笔记
1.改造项目
1.1引入依赖pom.xml
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>3.0.7</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-rpc-dubbo</artifactId>
<version>3.0.7</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-zookeeper</artifactId>
<version>3.0.7</version>
</dependency>
1.2配置application.yaml
dubbo:
application:
name: provider-application
protocol:
name: dubbo
port: 20880
registry:
address: zookeeper://127.0.0.1:2181
- 注:调用和被调用方都需要写这个配置
1.3 将接口提取到公共的模块
1.4 依赖
- provider实现common里面的接口
<dependency>
<groupId>org.example</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
-
consumer依赖common的jar包
<dependency> <groupId>org.example</groupId> <artifactId>common</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
-
consumer启动类,provider启动类开启Dubbo:@EnableDubbo
@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
@SpringBootApplication
@EnableDubbo
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
}
- 调用:@DubboReference(version="")
@Service
public class OrderService {
@Autowired
private RestTemplate restTemplate;
@DubboReference(version = "1.0")
private UserService userService;
@Value("${user_url}")
private String url;
@Value("${port}")
private Integer port;
public String getOrder() {
String address = url + ":" + port + "/user";
System.out.println(address);
return restTemplate.getForObject(address, String.class);
}
public String getOrderDubbo(){
return userService.getUser();
}
}
没有什么优雅的代码比空代码的执行效率更高
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)