dubbo起步搭建Spring+SpringMVC+dubbo的開發環境(1,處理Spring衝突)

打算自己做一些事情,需要實現分佈式的系統,朋友的推薦下試用了一下dubbo,感覺能滿足自己的要求。於是開始學習,這個文章作爲記錄。


dubbo官方的實例和網絡上的例子,大多都是使用API啓動。而根據我個人的使用需要,要搭建一個Spring+SpringMVC+dubbo的開發環境,並要使用spring自動加載。話不多說進入正題:

1,首先創建 提供者provider 和 消費者consumer 兩個工程(分別是dp、dc)。

使用Eclipse創建Maven工程。

dp 的pom文件如下:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.xuyang</groupId>
  <artifactId>dp</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>dp Maven Webapp</name>
  <url>http://maven.apache.org</url>
  
  <properties> 
	  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  	  <!-- 設置 Spring 的版本 --> 
      <org.springframework.version>3.1.4.RELEASE</org.springframework.version>
  </properties>
  
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>${org.springframework.version}</version>
	</dependency>
	<dependency>  
         <groupId>org.springframework</groupId>  
         <artifactId>spring-context-support</artifactId>  
         <version>${org.springframework.version}</version>
     </dependency>
     <dependency> 
        <groupId>org.springframework</groupId> 
        <artifactId>spring-web</artifactId> 
        <version>${org.springframework.version}</version> 
    </dependency>
     <!-- dubbo start-->
    <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.3.6</version>
      <exclusions>
        <exclusion>
           <groupId>log4j</groupId>
           <artifactId>log4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.16</version>
    </dependency>
    <!-- dubbo end-->
  </dependencies>
  <build>
    <finalName>dp</finalName>
  </build>
  <packaging>war</packaging>
</project>
問題

由於當前使用的spring版本是3.1,而dubbo使用的是spring是2.x;所以需要處理spring包衝突。方法如下:


找到dubbo依賴的spring2.5.6,右擊使用maven--> Exclude Maven Artifact

效果參見 pom.xml

<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>
查看工程中的 maven包引用:

已經沒有spring2.5.6了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章