最近用dubbo有个疑问,A项目要用B项目的接口方法,在pom文件里配了B项目的依赖,还要加<dubbo:reference interface="..B"> @autowired B 是受谁影响注入的?
还有maven pom文件是在哪找到B项目的jar下载到本地资源库的?
最近用dubbo有个疑问,A项目要用B项目的接口方法,在pom文件里配了B项目的依赖,还要加<dubbo:reference interface="..B"> @autowired B 是受谁影响注入的?
还有maven pom文件是在哪找到B项目的jar下载到本地资源库的?
dubbo没有使用经验, 但做为RPC框架, 实际服务执行是在远端的, 是不必下载jar到本地的. 知道接口就可以了.A依赖B, 也不需要B的全部代码都加到A里, 只要接口就好.
8 回答6.5k 阅读
4 回答706 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
2 回答4.3k 阅读
1 回答2.1k 阅读✓ 已解决
一般
dubbo
会有服务提供端
和服务调用端
,服务提供端会提供接口interface
和接口的实现类class
,而常见的开发方法都是接口和实现类在不同的项目里面,接口所在的项目一般打包成jar
形式,它需要使用Maven安装到本地仓库
中,实现类打包得看情况,如果是Spring MVC
的项目,一般打包成war
形式,如果是Spring Boot
项目,一般打包成jar
形式,我们在调用端调用的时候,只需要引入接口打包好的jar
包就可以了,只要服务一启动,就回去找实现类提供服务,我们在调用端调用的也是接口,而不是直接调用实现类。至于你所说的不明白
@Autowired
方式,很好解释:那就是服务提供端启动后,就会将实现类对象提交到zookeeper
注册中心去,当调用端启动后,就会根据你配置的reference
标签去注册中心查找实现类对象,从而动态引入到调用端所在Spring上下文环境
中,这样就可以@Autowired
注入了!如果有哪里不明白的,可以留言,欢迎采纳!