编写一个dubbo demo
1、安装注册中心
(1)访问 https://downloads.apache.org/zookeeper/stable/ 选择后缀为bin.tar.gz 的压缩包下载解压。
(2)确保电脑配置了jdk系统环境变量。
(3)修改conf 目录下的 zoo_sample.cfg 为 zoo.cfg 因为 bin 目录下的 zkEnv 脚本文件配置中声明的是 zoo.cfg
2、创建一个 根目录 dubbo-demo,目录下创建三个 maven project 的 module,分别对应服务提供者、服务消费者和公共的API
公共API
bean
package com.atguigu.gmall.bean; import java.io.Serializable; public class UserAddress implements Serializable { private Integer id; private String userAddress; private String userId; private String consignee; private String phoneNum; private String isDefault; public UserAddress() { super(); } public UserAddress(Integer id, String userAddress, String userId, String consignee, String phoneNum, String isDefault) { this.id = id; this.userAddress = userAddress; this.userId = userId; this.consignee = consignee; this.phoneNum = phoneNum; this.isDefault = isDefault; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserAddress() { return userAddress; } public void setUserAddress(String userAddress) { this.userAddress = userAddress; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getConsignee() { return consignee; } public void setConsignee(String consignee) { this.consignee = consignee; } public String getPhoneNum() { return phoneNum; } public void setPhoneNum(String phoneNum) { this.phoneNum = phoneNum; } public String getIsDefault() { return isDefault; } public void setIsDefault(String isDefault) { this.isDefault = isDefault; } }
service
package com.atguigu.gmall.service; import com.atguigu.gmall.bean.UserAddress; import java.util.List; public interface UserService { public List<UserAddress> getUserAddressList(String userId); }
package com.atguigu.gmall.service; import com.atguigu.gmall.bean.UserAddress; import java.util.List; public interface OrderService { public List<UserAddress> initOrder(String userId); }
服务提供者
UserService 实现
package com.atguigu.gmall.service.impl; import com.atguigu.gmall.bean.UserAddress; import com.atguigu.gmall.service.UserService; import java.util.Arrays; import java.util.List; public class UserServiceImpl implements UserService { public List<UserAddress> getUserAddressList(String userId) { UserAddress address1 = new UserAddress(1,"beijingshichangping","1", "lilaoshi","0536-0877651","yes"); UserAddress address2 = new UserAddress(2, "shenzhenshi", "1", "wanglaoshi", "0536-0671118", "no"); return Arrays.asList(address1, address2); } }