- 上一篇涉及一个问题,前面的案例是一个接口的注册,如果涉及多个接口呢?不可能在xml配置文件中配置所有的接口,如果那样的话,xml文件会显得很雍炯并且容易出现错误。那有没有解决办法呢?解决方案就是可以使用dubbo的注解配置spring的注解使用,但是使用的时候需要进行区分,否则容易出错。这一篇以springboot整合dubbo来说明
- Dubbo官方也在3年之后的17年连发了5个版本,在dubbo2.5.7之前也早已支持通过注解@Server暴露服务和@Reference消费服务,在2.5.7中Dubbo团队通过增加了一个@DubboComponentScan修复了一些通过注解暴露消费服务产生的问题,具体产考:Dubbo 注解驱动(Annotation-Driven)
一、创建公共接口项目并打包

二、创建服务实现项目
1.引入依赖

2.实现接口
import com.alibaba.dubbo.config.annotation.Service;
import com.qiu.api.service.HelloService;
@Service(version = "1.0.0")
public class HelloServiceImpl implements HelloService {
@Override
public String say() {
System.out.println("执行服务");
return "hello world";
}
}
@Service(version = "1.0.0")
public class PersonServiceImpl implements PersonService {
@Override
public Person person() {
Person person=new Person();
person.setAge(32);
person.setName("james");
return person;
}
}
3.创建配置
server.port=8081
## Dubbo 服务提供者配置
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
#服务暴露所在的package,使用了注解扫面,主要扫面dubbo的注解@service
spring.dubbo.scan=com.qiu.provider.service.impl
4.创建springboot启动了
@SpringBootApplication
public class AppProductMain {
public static void main(String[] args) {
SpringApplication.run(AppProductMain.class,args);
}
}
三、创建消费者项目
1.引入依赖

2.进行服务消费

3.创建controller类及springboot启动类

四、测试
(1)先启动zk服务器
(2)在启动服务创建项目
(3)在启动服务消费项目
(4)浏览器输入http://localhost:8081/test进行测试
网友评论