springboot整合dubbo项目controller层报null解决方法

一、springboot整合dubbo项目:
    1.springboot项目在整合dubbo项目:首先导入dubbo的依赖

        <dependency>
            <groupId>io.dubbo.springboot</groupId>
            <artifactId>spring-boot-starter-dubbo</artifactId>
            <version>1.0.0</version>
        </dependency>


    2.还需要一个日志的依赖:

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>


    3.然后就是代码层了:service的实现类层@service注解需要导入阿里的包import com.alibaba.dubbo.config.annotation.Service;
    4.再就是controller层注入service层接口时需要交给dubbo来管理所以需要注解@Reference包import com.alibaba.dubbo.config.annotation.Reference
    5.consumer:

        spring.dubbo.application.name=consumer
        spring.dubbo.registry.address=zookeeper://192.168.133.132:2181
        spring.dubbo.protocol.name=dubbo
        spring.dubbo.protocol.port=20880
        spring.dubbo.scan=controller层的包全限定名


      provider:
 

        spring.dubbo.application.name=provider
        spring.dubbo.registry.address=zookeeper://192.168.133.132:2181
        spring.dubbo.protocol.name=dubbo
        spring.dubbo.protocol.port=20880
        spring.dubbo.scan=service的实现类的包全限定名

二、但是在启动之后会发现一个问题:controller层报注入的service接口为null,之后通过各种调试总结出几个地方大家可以检查检查
    1.首先扫描propertities文件中扫描接口的配置:
      consumer中的propertities文件:spring.dubbo.scan=controller的包名 provider中的propertities文件:spring.dubbo.scan=service的实现类的包全限定名
    2.检查完之后启动还有问题的话在pom.xml中检查是否有热部署这个依赖如果有删掉,再重新启动试试

	  <!--springboot热部署依赖  -->
	  <dependency>
		    <groupId>org.springframework.boot</groupId>
		    <artifactId>spring-boot-devtools</artifactId>
		    <optional>true</optional>
	  </dependency>

猜你喜欢

转载自blog.csdn.net/qq_41950069/article/details/81673091