一、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>