1、相關依賴引入
阿里的dubbo包含了spring相關內容,引入依賴時,需要排除,使用我們自己項目中的spring依賴
<!-- start..............dubbo.................--> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <artifactId>spring</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <!-- end..............dubbo.................-->
xml配置文件中加入dubbo命名空間
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd"
2、Dubbo應用-Provider提供商
2.1、創建一個獨立的service接口模塊

2.2、創建service接口實現類模塊
- 模塊需要引用公共的dao模塊
- 引用service接口模塊
- 實現的service類加個名稱

2.3、在resoures中添加spring的dao配置

2.4、在spring添加dubbo服務

<?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-4.3.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 提供方應用信息,用於計算依賴關系 --> <dubbo:application name="edu-eb-service-provider" /> <!-- 使用zookeeper注冊中心--> <dubbo:registry protocol="zookeeper" address="192.168.1.110:2181"/> <!-- 用dubbo協議在20880端口暴露服務 --> <dubbo:protocol name="dubbo" port="20880" /> <!-- 聲明需要暴露的服務接口 --> <dubbo:service interface="com.yuxiu.edu.eb.service.IUserService" ref="userService" /> </beans>
ref="userService"原因:

也可以在配置文件中定義:

dubbo服務中model模型要序列化

2.5、發布微服務
public class App { public static void main( String[] args ) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-context.xml"); context.start(); synchronized (App.class) { while (true) { try { App.class.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } } } }
3、Dubbo應用-Comsumer消費者
3.1、添加一個Web模塊,並引用服務接口模塊

3.2、然后配置好springmvc
3.3、在spring的配置文件中配置dubbo的消費者
<?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-4.3.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 消費方應用名,用於計算依賴關系,不是匹配條件,不要與提供方一樣 --> <dubbo:application name="edu-eb-web" /> <!-- 使用zookeeper注冊中心暴露服務地址 --> <!-- 注冊中心地址 --> <dubbo:registry protocol="zookeeper" address="192.168.1.110:2181" /> <!-- 用戶服務接口 --> <dubbo:reference interface="com.yuxiu.edu.eb.service.IUserService" id="userService" check="false" /> </beans>
3.4、配置個控制器調用service
其實也就是遠程調用

4、Dubbo后台管理安裝
- 將dubbo-admin-2.5.3.war放在tomcat7中執行
- 記得Java_Home要改成1.7,高版本的jdk不兼容
- 然后訪問http://localhost:8888/dubbo-admin-2.5.3,帳號和密碼默認都為root
- 要修改帳號和密碼可以修改dubbo.properties文件



