亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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


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

Dubbo_demo 的pom 這個(gè)主要用來聚合業(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)建兩個(gè)項(xiàng)目一個(gè)是 服務(wù)的提供者 和服務(wù)的消費(fèi)者

提供者和消費(fèi)者不懂的話點(diǎn)擊這個(gè)連接了解一下http://dubbo.io/

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

生成基本項(xiàng)目按第一個(gè)圖片的去生成

代碼結(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進(jìn)行關(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)用名,用于計(jì)算依賴關(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,則會(huì)分配一個(gè)沒有被占用的端口 -->
  <dubbo:protocol name="dubbo" port="-1" />
  
  <!-- 聲明需要暴露的服務(wù)接口 -->
  <dubbo:service interface="com.hzb.dubbo.provider.DemoService"
    ref="demoService" timeout="10000" />
    
  <!-- 和本地 bean 一樣實(shí)現(xiàn)服務(wù) -->
  <bean id="demoService" class="com.hzb.dubbo.provider.DemoServiceImpl" />
  
</beans>

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

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

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ù)提供者啟動(dòng)成功");
  }
}

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


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

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

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


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

<?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配置:


啟動(dòng)類:


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

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

運(yùn)行結(jié)果

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

相關(guān)文章

  • spring啟動(dòng)錯(cuò)誤Singleton bean creation not allowed while the singletons of this factory are indestruction

    spring啟動(dòng)錯(cuò)誤Singleton bean creation not al

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

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

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

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

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

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

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

    異常點(diǎn)/離群點(diǎn)檢測算法——LOF解析

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

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

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

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

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

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

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

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

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

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

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

最新評論