Loading

Spring Boot:整合Dubbo

一.dubbo-boot-provider模块

maven依赖:

 application.properties

1
2
3
4
5
6
dubbo.application.name=dubbo-boot-provider
dubbo.registry.address=192.168.10.132:2181
dubbo.registry.protocol=zookeeper
 
dubbo.protocol.name=dubbo
dubbo.protocol.port=10000

 service类:

注意这里的@Service是Dubbo的注解,不是Spring的Service注解

1
2
3
4
5
6
7
8
9
10
@Service
public class UserServiceImpl implements UserService {
 
    @Override
    public List<User> getAll() {
        User user1 = new User(1, "张三", 12, "北京");
        User user2 = new User(2, "李四", 13, "北京");
        return Arrays.asList(user1, user2);
    }
}

 启动类:

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableDubbo//开启基于注解的dubbo功能
public class DubboBootProviderApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(DubboBootProviderApplication.class, args);
    }
 
}

二.dubbo-boot-consumer模块 

maven依赖

 消费者:

调用UserService时,用@Reference表示远程调用,而不是用@Autowired

1
2
3
4
5
6
7
8
9
10
@Controller
public class UserController {
    @Reference  //远程引用userService
    UserService userService;
    @RequestMapping("/getAll")
    @ResponseBody
    public List<User> getAll(){
        return userService.getAll();
    }
}

 application.properties

1
2
3
4
dubbo.application.name=dubbo-boot-consumer
dubbo.registry.address=zookeeper://192.168.10.132:2181
 
server.port=7070

 启动类:

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableDubbo
public class DubboBootConsumerApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(DubboBootConsumerApplication.class, args);
    }
 
}

 三.运行两个boot主应用,在浏览器输入localhost:7070/getAll

代码已上传至github

posted @   秋风飒飒吹  阅读(309)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示