您的位置:首页 > 其它

和起航瞎几把学之Dubbo学习总结(4):简单的demo测试

2018-12-26 17:31 183 查看

1:项目

2:pom

<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>

就这个重要,只需要这个

3:提供者

非常简单就是写一个service,serviceImpl,重要的一下@Service这个方法包是dubbo里面的
import com.alibaba.dubbo.config.annotation.Service;
是这个不要搞错了

4:消费者

这里就有点东西要讲了不然会懵逼,首先我实在项目里面建立了两个model来写的项目,问题是controller里面要用provider里面的demoService类,这个时候你会大叫一声“我靠,用不了,咋办”。
其实很简单
4.1:引入pom

打开provider的pom文件,把前三行copy下来,哦!忘了,你先点开Maven Projects

记住先install一下,然后打开coustom里面的pom加入

<dependency>
<groupId>com.asiainfo</groupId>
<artifactId>provider</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>

然后install一下,接下来你会发现“哇,我可以在controller里面用demoService了”,ok这个时候你就成功了
4.3:修改properties
这个是coustom的

spring.application.name = dubbo-consumer
server.port = 9091

#指定当前服务/应用的名字(同样的服务名字相同,不要和别的服务同名)
dubbo.application.name = dubbo-consumer

demo.service.version = 1.0.0

dubbo.protocol.name = dubbo
dubbo.protocol.port = 20860

#指定注册中心的位置
dubbo.registry.address = zookeeper://xx.xx.xx.xx:2181

#统一设置服务提供方的规则
dubbo.consumer.timeout = 5000

接下来是provider的

spring.application.name = dubbo-provider
server.port = 9090
dubbo.application.name = dubbo-provider
demo.service.version = 1.0.0
dubbo.protocol.name = dubbo
dubbo.protocol.port = 20880
dubbo.registry.address = zookeeper://xx.xx.xx.xx:2181
dubbo.provider.timeout = 1000

记住哈port一样会显示占用的
4.4:接下来改一下
@Service(value=”1.0.0”)一定要给版本

@Service(version = "1.0.0")
public class demoServiceImpl implements demoService {

@Override
public String say(String name) {
return name+"xxxhellow1";
}
}

然后就是实例化demeService的时候用@Reference切记这个也是阿里的包哈

@RestController
public class demoController {
@Reference(version = "${demo.service.version}")
private demoService demoService;

@RequestMapping("hello/{name}")
public String say(@PathVariable("name")String name)

{
return demoService.say(name);
}
}

接下来跑起来去你的管理平台就能看见

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: