Dubbo学习之简单的demo(注解版)
发布日期:2021-05-07 08:41:14 浏览次数:22 分类:精选文章

本文共 2178 字,大约阅读时间需要 7 分钟。

当前环境:与上面的xml版的一致

1.声明

当前项目的父项目都是xml配置版的,DubboParentDemo

2.创建子项目dubbo-annotation-provider

2.1 添加依赖

dubbo-api
dubbo-api
0.0.1-SNAPSHOT

2.2 创建配置文件dubbo-provider.properties

dubbo.application.name=annotation-providerdubbo.registry.address=zookeeper://192.168.133.129:2181dubbo.protocol.name=dubbodubbo.protocol.port=20880

2.3 创建服务实现类

/** * @description 创建服务实现类 * @author hy * @date 2019-10-07 */@Service//这里需要使用Dubbo的@Service注解public class DemoServiceImpl implements DemoService {   	@Override	public String say(String context) {   		return "Hello "+context+" !";	}}

2.4 创建Provider类

/** * @description 使用注解的方式配置dubbo--服务提供端 * @author hy * @date 2019-10-07 */@Configuration@EnableDubbo(scanBasePackages = "com.hy.dubbo.annotation.provider.dao.impl")//扫描添加了@Service的注解@PropertySource("classpath:dubbo-provider.properties")//配置文件的扫描public class Provider {   	public static void main(String[] args) throws IOException {   		AnnotationConfigApplicationContext context=new AnnotationConfigApplicationContext(Provider.class);		context.start();		System.in.read(); //需要等待	}}

3.创建子项目dubbo-annotation-customer

3.1 添加依赖

dubbo-api
dubbo-api
0.0.1-SNAPSHOT

3.2 添加dubbo-customer.properties文件

dubbo.application.name=annotation-consumerdubbo.registry.address=zookeeper://192.168.133.129:2181dubbo.consumer.timeout=3000

3.3 创建Customer类

/** * @description 使用注解的方式创建dubbo项目--客户端 * @author hy * @date 2019-10-07 */@Configuration@EnableDubbo(scanBasePackages = "com.hy.dubbo.annotation.customer")//启用Dubbo扫描并注入对象@PropertySource("classpath:dubbo-customer.properties")//扫描配置文件public class Customer {   		@Reference	DemoService demoService;//这里需要使用Dubbo来进行注入	public static void main(String[] args) {   		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Customer.class);		Customer customer = context.getBean(Customer.class);		String say = customer.demoService.say("World");		System.out.println(say);	}}

4.测试

先启动Provider类,再启动Customer类

结果与前面的xml和java版的完全一致

5.总结

1.使用dubbo注解的时候需要使用@Service@Reference注解分别标注:Service实现类客户端使用的接口

2.当前的dubbo注解版依赖于Spring的IOC容器

以上纯属个人见解,如有问题请联系本人!

上一篇:Dubbo源码之Provider的服务发布源码解析(Java版)
下一篇:Dubbo学习之简单的demo(纯java版)

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年04月19日 13时31分49秒