欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot 整合 dubbo xml實現(xiàn)代碼示例

 更新時間:2018年03月08日 09:41:54   作者:家住海邊喜歡浪  
這篇文章主要介紹了SpringBoot 整合 dubbo xml實現(xiàn)代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

昨天發(fā)布了注解方式,有人給我發(fā)了郵件希望能出一版本xml格式的,本來12點前能搞定的但是電腦稍微出了問題,導致idea 瘋狂奔潰,搞了很久廢話不多說了,有錯誤之處望大家指出發(fā)我郵箱.

用dubbo肯定是多模塊化了 所以我們先創(chuàng)建一個聚合項目


這是項目結(jié)構(gòu)

Dubbo_demo 的pom 這個主要用來聚合業(yè)務(wù)模塊用不做任何業(yè)務(wù)處理

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.hzb</groupId>
  <artifactId>Dubbo_demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <!--我們這是多模塊開發(fā) 所以這邊要 變成 pom-->
  <packaging>pom</packaging>
  <!--系統(tǒng)模塊-->
  <modules>
    <module>hzbdubbo-consumer</module>
    <module>hzbdubbo-provider</module>
  </modules>
  <!--配置文件屬性-->
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
  </properties>
</project>

然后按照上面的方法創(chuàng)建兩個項目一個是 服務(wù)的提供者 和服務(wù)的消費者

提供者和消費者不懂的話點擊這個連接了解一下http://dubbo.io/

服務(wù)提供者代碼片段:

生成基本項目按第一個圖片的去生成

代碼結(jié)構(gòu): 由于是demo不按規(guī)范結(jié)構(gòu)來看得懂就行

服務(wù)提供者pom :

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.hzb.dubbo.provider</groupId>
<artifactId>hzbdubbo-provider</artifactId>
<packaging>jar</packaging>
<name>hzbdubbo-provider</name>
<description>Demo project for Spring Boot</description>

<parent> 
  <groupId>com.hzb</groupId>
   <artifactId>Dubbo_demo</artifactId>
   <version>0.0.1-SNAPSHOT</version>
</parent>

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
</properties>

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>1.5.2.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <version>1.5.2.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <version>1.5.2.RELEASE</version>
  </dependency>
  
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.4.10</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>
    <exclusions>
      <exclusion>
        <artifactId>slf4j-log4j12</artifactId>
        <groupId>org.slf4j</groupId>
      </exclusion>
    </exclusions>
  </dependency>
  
  <dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
  </dependency>
  
</dependencies>

<build>
  <plugins>
    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
      <version>1.5.2.RELEASE</version>
    </plugin>
  </plugins>
</build>

</project>

注意pom中 parent 對應(yīng)的是什么和聚合pom進行關(guān)聯(lián)

dubbo.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">
    
  <!-- 配置可參考 http://dubbo.io/User+Guide-zh.htm -->
  <!-- 服務(wù)提供方應(yīng)用名,用于計算依賴關(guān)系 -->
  <dubbo:application name="dubbo-provider" owner="dubbo-provider" />
  
  <!-- 定義 zookeeper 注冊中心地址及協(xié)議 -->
  <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" client="zkclient" />
    
  <!-- 定義 Dubbo 協(xié)議名稱及使用的端口,dubbo 協(xié)議缺省端口為 20880,如果配置為 -1 或者沒有配置 port,則會分配一個沒有被占用的端口 -->
  <dubbo:protocol name="dubbo" port="-1" />
  
  <!-- 聲明需要暴露的服務(wù)接口 -->
  <dubbo:service interface="com.hzb.dubbo.provider.DemoService"
    ref="demoService" timeout="10000" />
    
  <!-- 和本地 bean 一樣實現(xiàn)服務(wù) -->
  <bean id="demoService" class="com.hzb.dubbo.provider.DemoServiceImpl" />
  
</beans>

這個想要了解配置的意思點擊這個連接:http://dubbo.io/books/dubbo-user-book-en/英文版https://help.github.com/categories/github-pages-basics/

服務(wù)提供者啟動類代碼:

package com.hzb.dubbo.provider;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;

@SpringBootApplication
// 使用 dubbo.xml 配置
@ImportResource(value = {"classpath:dubbo.xml"})
public class DubboProviderApplication {

  public static void main(String[] args) {

    SpringApplication.run(DubboProviderApplication.class, args);
    System.out.println("服務(wù)提供者啟動成功");
  }
}

服務(wù) service接口代碼:


業(yè)務(wù)實現(xiàn)代碼:“

接下來就是服務(wù)消費者了:

項目結(jié)構(gòu):


消費者pom 也是要注意pom中和上面有哪些不一樣 和 多了那個依賴

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.hzb.dubbo.consumer</groupId>
  <artifactId>hzbdubbo-consumer</artifactId>
  <packaging>jar</packaging>
  <name>hzbdubbo-consumer</name>
  <description>Demo project for Spring Boot</description>

  <parent> 
    <groupId>com.hzb</groupId>
     <artifactId>Dubbo_demo</artifactId>
     <version>0.0.1-SNAPSHOT</version>
  </parent>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
    
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <version>1.5.2.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>1.5.2.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <version>1.5.2.RELEASE</version>
      <scope>test</scope>
    </dependency>

    <!-- 阿里巴巴提供的格式化依賴 -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.1.41</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.4.10</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>
      <exclusions>
        <exclusion>
          <artifactId>slf4j-log4j12</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.github.sgroschupf</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.1</version>
    </dependency>
    <dependency>
      <groupId>com.hzb.dubbo.provider</groupId>
      <artifactId>hzbdubbo-provider</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <version>1.5.2.RELEASE</version>
      </plugin>
    </plugins>
  </build>
</project>

dubbo.xml配置:


啟動類:


測試調(diào)用服務(wù)Controller

接下來就是先把服務(wù)提供者啟動起來 然后在啟動消費者

運行結(jié)果

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring啟動錯誤Singleton bean creation not allowed while the singletons of this factory are indestruction

    spring啟動錯誤Singleton bean creation not al

    本文主要介紹了spring啟動錯誤Singleton bean creation not allowed while the singletons of this factory are indestruction,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java構(gòu)造方法有什么作用?

    Java構(gòu)造方法有什么作用?

    在本篇文章里小編給大家介紹了關(guān)于Java構(gòu)造方法的作用以及相關(guān)的基礎(chǔ)知識點,對此有需要的朋友們可以跟著學習下。
    2022-11-11
  • Tomcat ClassLoader打破雙親委派源碼解析

    Tomcat ClassLoader打破雙親委派源碼解析

    這篇文章主要為大家介紹了Tomcat ClassLoader打破雙親委派源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

    springboot整合RabbitMQ發(fā)送短信的實現(xiàn)

    本文會和SpringBoot做整合,實現(xiàn)RabbitMQ發(fā)送短信,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • 異常點/離群點檢測算法——LOF解析

    異常點/離群點檢測算法——LOF解析

    這篇文章主要介紹了異常點/離群點檢測算法——LOF解析,通過圖解文字描述的方式詳細的解析了該算法,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • Java命令行參數(shù)解析工具jcommander詳解

    Java命令行參數(shù)解析工具jcommander詳解

    這篇文章主要為大家介紹了Java命令行參數(shù)解析工具jcommander命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • Java設(shè)計模式之命令模式

    Java設(shè)計模式之命令模式

    這篇文章介紹了Java設(shè)計模式之命令模式,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Java多線程之并發(fā)編程的基石CAS機制詳解

    Java多線程之并發(fā)編程的基石CAS機制詳解

    這篇文章主要介紹了java并發(fā)編程之cas詳解,涉及cas使用場景和cas用作原子操作等內(nèi)容,具有一定參考價值,需要的朋友可以了解下
    2021-09-09
  • mybatis-plus指定字段模糊查詢的實現(xiàn)方法

    mybatis-plus指定字段模糊查詢的實現(xiàn)方法

    最近項目中使用springboot+mybatis-plus來實現(xiàn),所以下面這篇文章主要給大家介紹了關(guān)于mybatis-plus實現(xiàn)指定字段模糊查詢的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Java的函數(shù)式接口@FunctionalInterface的使用說明

    Java的函數(shù)式接口@FunctionalInterface的使用說明

    這篇文章主要介紹了Java的函數(shù)式接口@FunctionalInterface的使用說明,我們常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解,需要的朋友可以參考下
    2024-01-01

最新評論