创建maven项目,子模块有service,ServiceImpl,controller(创建maven项目不会的话百度下);
service是api,接口类,ServiceImpl是接口实现类,controller是web控制层
目录结构
dubboparent的pom文件内容:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sunny</groupId>
<artifactId>dubboparent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
</dependencies>
<modules>
<module>service</module>
<module>ServiceImpl</module>
<module>controller</module>
</modules>
</project>
service工程
编写HelloService接口
ServiceImpl工程
编写实现类HelloServiceImpl,并编写启动类
此为实现类
此为起动类
然后配置service工程的application.properties
##端口号
server.port=8880
## Dubbo 服务提供者配置
#spring.dubbo.application.name=dubbo_server
#spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
#spring.dubbo.protocol.name=dubbo
#spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.dubbo.api.service.impl
dubbo.application.name=dubbo_server
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
serviceImpl的pom文件:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>dubboparent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>ServiceImpl</artifactId>
<dependencies>
<dependency>
<groupId>com.sunny</groupId>
<artifactId>service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
</dependencies>
</project>
controller工程
编写调用类HelloController,和web的启动类webSpringbootRun
此为HelloController
此为webSpringbootRun
编写controller工程的application.properties
##端口号
server.port=8881
## Dubbo 服务提供者配置
dubbo.application.name=dubbo_client
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
#设置调用service的超时时间
dubbo.consumer.timeout=120000
spring.dubbo.scan=com.dubbo.controller
controller的pom文件:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>dubboparent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>controller</artifactId>
<dependencies>
<dependency>
<groupId>com.sunny</groupId>
<artifactId>service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
完毕!!!,有不对的还请指教