自己玩的Demo结构:
API : 存放暴露的接口与实体模型POJO
Consumer:服务消费方
Provider : 服务提供方
注册中心:Zookeeper --(对于新手来说,去下载一个Dubbo-admin工程,可以看到服务是否有注册到zookeeper上);
先来配置Api工程中的pom.xml吧:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>DubboProject</artifactId>
<groupId>com.alen.dubbotest</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-api</artifactId>
<!-- 版本控制 -->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<!--SpringBoot启动器 -->
<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>
</dependencies>
<!--maven插件-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
建立实体类; 建表SQL我就不帖了,可以自行创建一个User表;
注:--最好序列化一下哦
package com.st.sang.enetiry;
import lombok.Data;
import java.io.Serializable;
/**
* @Author hjl
* @Date 2019/12/30
**/
public class User implements Serializable {
private static final long serialVersionUID = -1688765204850364609L;
private Integer id;
private String userName;
private String passWord;
public static long getSerialVersionUID() {
return serialVersionUID;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
定义一个暴露的接口供其他服务访问
package com.st.sang.service;
import com.st.sang.enetiry.User;
import java.util.List;
public interface UserService {
List<User> getAllUser();
}
--------------------------------------------------------api分割线---------------------------------------------------------------
接下来该服务提供方了,先看看结构;
pom.xml:
这里注意一下: 引入的Dubbo包貌似不能太旧,否则还没加入一些注解,如:
@DubboComponentScan