今天采用Spring注解 Dubbo(注解)的方式整合服务
消费者
 @Controller
 public class HomeController {
 
 private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
 
 
     @Reference(version = "0.0.1")
     private IDemoService demoService;
 
 @RequestMapping(value = "/say", method = RequestMethod.GET)
     @ResponseBody
 public String sayHello(){
 demoService.sayHello();
         return "1";
 }
 
 @RequestMapping(value = "/add", method = RequestMethod.GET)
 public void addition(){
 System.out.println(demoService.addition(5, 5));
 }
 
 
 } 
application xml:
 <dubbo:application name="consumer-of-helloworld-app" />
 <dubbo:registry address="zookeeper://192.168.10.150:2181" />
     <dubbo:annotation package="com.demo.dubbo.controller"/> 
提供者provider
import com.alibaba.dubbo.config.annotation.Service;
 @Service(version = "0.0.1")
 public class DemoServiceImpl implements IDemoService {
 
 
 @Override
 public void sayHello() {
 System.out.println("hello dubbo!");
 }
 
 
 @Override
 public int addition(int a, int b) {
 int result = a + b;
 System.out.println("addition:" + result);
 return result;
 }
 
 
 } 
application xml:
<dubbo:annotation package="com.winks.dubbo.demo.provider" />
 
 
其他配置都在dubbo.properties
消费者采用的是 bat启动,
 
 
消费者的 IDemoService demoService 始终是空指针。
 
 
有谁能否提供一个是dubbo注解实例,谢谢!
 
 
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
消费者的 IDemoService demoService 始终是空指针。 这里是不是不应用dubbo的方式实例化而用spring提供注解@Autowired######
我成功了,出现空指针的原因是:spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好,如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。
下面是我成功的代码:
 <mvc:annotation-driven />
 
 <!-- 查找xxx路径下所有@Controller 注释类,添加与项目相关的controller -->
 
 <dubbo:annotation package="XXX.XXX.XXX.controller" />
 
 <context:component-scan base-package="XXX.XXX.XXX.controller"/> 
祝成功
######但是 还是没成功!######我成功了,出现空指针的原因是:spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好,如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。
下面是我成功的代码:
 <mvc:annotation-driven />
 
 <!-- 查找xxx路径下所有@Controller 注释类,添加与项目相关的controller -->
 
 <dubbo:annotation package="XXX.XXX.XXX.controller" />
 
 <context:component-scan base-package="XXX.XXX.XXX.controller"/> 
祝成功
楼主你好:
我也遇到了这个问题,请问你是如何解决的?
@刚毕业的xiao学生 我试了你的方法还是报错
###### @plugin 解决了,好像不是这的问题……######层主解决了吗######我成功了,出现空指针的原因是:spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好,如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。
下面是我成功的代码:
 <mvc:annotation-driven />
 
 <!-- 查找xxx路径下所有@Controller 注释类,添加与项目相关的controller -->
 
 <dubbo:annotation package="XXX.XXX.XXX.controller" />
 
 <context:component-scan base-package="XXX.XXX.XXX.controller"/> 
祝成功
这篇文章讲的很清楚,我是将dubbo的@Reference注入到Service层。这样就不会与@Controller冲突里了
http://blog.csdn.net/qq_16414307/article/details/50328481