导完包之后,在application.propreties中配置
#服务应用名
dubbo.application.name=provider-server
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#那些服务要被注册
dubbo.scan.base-packages=com.huang.service
这里我们就举一个卖票拿票的例子(有关于zookeeper注册的例子)
然后建立一个TicketServerImpl(之前要建立好TicketServer接口并写好方法)
//zookeeper服务注册与发现
@DubboService//可以被扫描到,在项目启动就自动注册到注册中心
@Service//使用Dubbo尽量不用Service注解
public class TicketServiceImpl implements TicketService {
@Override
public String getTicket() {
return "老黄这怎么这么帅啊";
}
}
接着再建立一个有关于Springboot的Model
大概的结构是这样
然后新的Model的pom导入一样的包
这时候就要把zookeeper服务的Model的TickServer接口复制粘贴到service下,因为这样就能在网络上接收服务端的数据并导入到这个接口中,然后利用接口的方法把数据展现出来(个人理解)
接着建立UserService的类
@Service
public class UserService {
//想拿provider提供的票,要去注册中心拿到服务
@DubboReference//引用,pom坐标,可以定义路径相同的接口名
TicketService TICKET_SERVICE;
public void butTickey(){
String ticket = TICKET_SERVICE.getTicket();
System.out.println("在注册中心拿的票"+ticket);
}
}
然后先运行运行Zookeeper的ZkServer.cmd和Dubbo的jar包。再运行server端的springboot的运行类(运行操作本人的其他文章有记载)
最后就是在client端的测试类写测试代码并运行
@SpringBootTest
class ConsumerServerApplicationTests {
@Autowired
UserService userService;
@Test
void contextLoads() {
userService.butTickey();
}
}
运行后得出结果: