1. 程式人生 > >spring maven 搭建dubbo框架 服務端

spring maven 搭建dubbo框架 服務端

1 建立一個3 maven專案  

1 定義介面專案      service

2 服務的提供者   provider

  3 服務消費者     consumer 

service 專案中只定義介面  不做其他任何事情  

2 我們在該專案中建立一個介面 ,隨便寫一個方法  


3  我們到 provider 專案中    pom.xml中引入相關包 

   在引入dubbo包的時候注意  為了防止spring衝突 要將spring依賴移除掉

    <dependency>
	    <groupId>org.springframework</groupId>
	    <artifactId>spring-context</artifactId>
	    <version>4.1.6.RELEASE</version>
	</dependency>
	<dependency>
	    <groupId>com.alibaba</groupId>
	    <artifactId>dubbo</artifactId>
	    <version>2.5.3</version>
	    <exclusions>
	    	<exclusion>
	    		<groupId>org.springframework</groupId>
	    		<artifactId>spring</artifactId>
	    	</exclusion>
	    </exclusions>
	</dependency>
	<dependency>
	    <groupId>com.github.sgroschupf</groupId>
	    <artifactId>zkclient</artifactId>
	    <version>0.1</version>
</dependency>
   我們需要實現service專案中的介面 所以也要引入service依賴

4  寫一個實現類  來實現介面中的hello方法


5  我們再建立一個原始檔夾來存放配置檔案    src/main/resource

6 在原始檔夾下建立目錄 META-INF    META-INF下再建立spring      (必須叫這個名字

7 建立兩個xml檔案  分別配置spring和dubbo      

applicationContext.xml

applicationContext-dubbo.xml

8 在applicationContext.xml中  掃描 實現類所在的包  

<context:component-scan base-package="com.dubbo.provider"></context:component-scan>

想被掃描到 實現類中也必須加入@Service註解

9 在applicationContext-dubbo.xml 中配置 

 <!-- 提供方應用資訊,用於計算依賴關係 -->
     <dubbo:application name="wy_provider" />
     <!-- 使用zookeeper註冊中心暴露服務地址   埠是zookeeper 中配置的2181-->
     <dubbo:registry address="zookeeper://192.168.80.141:2181"/>
     <!-- 用dubbo協議在20880埠暴露服務 -->
     <dubbo:protocol name="dubbo" port="20880" />
     <!-- 具體的實現bean -->
      <bean id="testImpl" class="com.dubbo.provider.TestImpl" /> 
     <!-- 宣告需要暴露的服務介面 -->
     <dubbo:service interface="com.dubbo.service.Itest" ref="testImpl" />

10 寫一個帶有main方法的類   

public static void main(String[] args) {
		// TODO Auto-generated method stub
		Main.main(args);
	}

11  成功