PS: 項目架子以及工程間的maven依賴配置暫時省略,後續看狀況可能會單獨寫一篇文章捋捋框架結構,先馬克~java
配置和啓動
1.pom文件引入dubbo和zookeeper的操做客戶端
<!--引入dubbo--> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.2</version> </dependency> <!--這裏使用zookeeper做爲註冊中心,引入操做zookeeper的客戶端--> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.12.0</version> </dependency> <!--框架依賴end-->
2.新建一個provider的xml文件,用於配置生產者的信息
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!--1.指定當前服務/應用的名字(一樣的服務名字相同,可是不要和其餘服務同名)--> <dubbo:application name="user-service"></dubbo:application> <!--2.指定註冊中心的位置--> <!--寫法1--> <dubbo:registry address="zookeeper://127.0.0.1:2181"></dubbo:registry> <!--寫法2--> <!--<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181"></dubbo:registry>--> <!--3.指定通訊規則(通訊協議和通訊端口)--> <dubbo:protocol name="dubbo" port="20880"></dubbo:protocol> <!--4.暴露服務 ref:指向服務的真正的實現對象--> <dubbo:service interface="dubbo.service.user.UserService" ref="userServiceImpl"></dubbo:service> <!--4.1把實現類加入到容器中--> <bean id="userServiceImpl" class="com.zhanghaoBF.gmall.service.impl.UserServiceImpl"></bean> </beans>
3.建立一個生產者啓動類Provider.java
public class Provider { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("provider.xml"); context.start(); System.in.read(); // 此代碼功能:按任意鍵退出 } }
4.啓動
右鍵debug啓動類後,打開上一章講解的控制檯,可看到服務已經註冊到註冊中心了,欸嘿,有點意思噻~spring
PS:啓動前須要先啓動zk和控制檯才能實現下圖的效果apache