环境搭建
之前按照官网搭建的环境都没有成功,今天总算是搭建成功了
demo-provider
pom.xml
<properties>
<java.version>1.8</java.version>
<dubbo.version>2.7.1</dubbo.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>4.2.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>
</dependencies>
application.properties
server.port=8081
spring.application.name=DemoProvider
dubbo.scan.base-packages=com.zyq.service
dubbo.protocol.name=dubbo
dubbo.protocol.port=666
dubbo.protocol.host=192.168.31.91
dubbo.registry.address=zookeeper://192.168.74.70:2181
项目的包结构
demo-customer
pom.xml中引入的依赖和demo-provider项目中的依赖相同
application.properties
server.port=8082
spring.application.name=DemoCustomer
dubbo.registry.address=zookeeper://192.168.74.70:2181
项目包结构
代码实现
demo-provider
ItestServiceImpl.java
package com.zyq.service;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;
@Component
@Service(version = "1.0.0",timeout = 10000,interfaceClass = ItestService.class)
public class ItestServiceImpl implements ItestService{
public String test(String name) {
return "zyq" + name;
}
}
demo-customer
TestController.java
package com.zyq.controller;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.zyq.service.ItestService;
@Controller
public class TestController {
@Reference(version = "1.0.0")
ItestService serv;
@RequestMapping("test")
@ResponseBody
public String test() {
return serv.test("123");
}
}