maven依赖和dubbo服务暴露调用区别?

最近用dubbo有个疑问,A项目要用B项目的接口方法,在pom文件里配了B项目的依赖,还要加<dubbo:reference interface="..B"> @autowired B 是受谁影响注入的?
还有maven pom文件是在哪找到B项目的jar下载到本地资源库的?

阅读 5.7k
2 个回答

一般dubbo会有服务提供端服务调用端,服务提供端会提供接口interface和接口的实现类class,而常见的开发方法都是接口和实现类在不同的项目里面,接口所在的项目一般打包成jar形式,它需要使用Maven安装到本地仓库中,实现类打包得看情况,如果是Spring MVC的项目,一般打包成war形式,如果是Spring Boot项目,一般打包成jar形式,我们在调用端调用的时候,只需要引入接口打包好的jar包就可以了,只要服务一启动,就回去找实现类提供服务,我们在调用端调用的也是接口,而不是直接调用实现类。
至于你所说的不明白@Autowired方式,很好解释:那就是服务提供端启动后,就会将实现类对象提交到zookeeper注册中心去,当调用端启动后,就会根据你配置的reference标签去注册中心查找实现类对象,从而动态引入到调用端所在Spring上下文环境中,这样就可以@Autowired注入了!
如果有哪里不明白的,可以留言,欢迎采纳!

dubbo没有使用经验, 但做为RPC框架, 实际服务执行是在远端的, 是不必下载jar到本地的. 知道接口就可以了.A依赖B, 也不需要B的全部代码都加到A里, 只要接口就好.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题