dubbo是一款RPC框架。RPC,远程过程调用。通俗来说,就是一台机器上的代码要调用另一台机器上的代码,这个过程叫远程调用。
服务接口和服务实现类
@Service注解标注实现类。此注解是dubbo的而不是spring的
provider方spring的配置
编写consumer
同样要定义一个和provider方一致的接口
在Controller类中,使用 @Reference注解注入想要的服务实现类。
consumer方springmvc的配置
声明式事务
dubbo中添加了声明式事务后,provider将无法注册
原因:
1. 使用JDK的动态代理,默认代理对象的包名和原始的包名并不一致。
2. 生成的代理对象,会实现SpringProxy接口。dubbo识别时,会把前面的接口先注册
解决方案:
1. 强制使用CGLIB作为代理方式,而不使用JDK的代理方式。proxy-target-class="true"
2. 在provider方,Service注解中,明确指定要注册的接口。 @Service(interfaceClass = HelloService.class)
原文:https://www.cnblogs.com/maomaodesu/p/12359280.html