Dubbo环境搭建及实现一个简单的demo

环境搭建

之前按照官网搭建的环境都没有成功,今天总算是搭建成功了
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");
	}

}
发布了3 篇原创文章 · 获赞 4 · 访问量 267

猜你喜欢

转载自blog.csdn.net/zhyongqiang/article/details/103791864