亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

duboo的使用分析

發布時間:2021-11-10 18:49:22 來源:億速云 閱讀:178 作者:柒染 欄目:大數據

今天就跟大家聊聊有關duboo的使用分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

一、背景

隨著互聯網的發展,網站應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行。

當越來越的的接口與實現類的增加后,duboo的xml配置會越來越多,為了防止幾百幾千行的代碼,減少開發人員配置xml的工作量,使用duboo的注解模式,減少配置多出問題多的可能性!

二、Dubbo使用案例

Duboo注解

接口類項目:DubboServiceInterface

duboo的使用分析

僅僅是一個接口類項目!接口是普通接口!

duboo的使用分析

注意:將接口類項目打包成jar分別放入服務端項目跟客戶端項目!

服務端項目:DubboServiceProvider

duboo的使用分析

實現類fooserviceImpl.java

duboo的使用分析

package com.alibaba.dubbo.demo.imp;

import com.alibaba.dubbo.config.annotation.Service;

import com.alibaba.dubbo.demo.DemoService;

@Service(version="1.0")

public class FooServiceImpl implements DemoService {

@Override

public String sayHello(String name) {

        return "Hello " + name;

    }

}

web.xml 配置掃描內容

duboo的使用分析

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">

  <display-name>DubboServiceProvider</display-name>

<servlet>

<servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>spring</servlet-name>

<url-pattern>*</url-pattern>

</servlet-mapping> 

   <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

    <context-param>

<param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value>

</context-param>

</web-app>

applicationContext.xml 配置

duboo的使用分析

<?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">  

<!-- 服務端- 服務提供方   -->

   <!-- 公共信息,也可以用dubbo.properties配置 -->

   <dubbo:application name="test" />

<!--    鏈接zookeeper -->

   <dubbo:registry address="zookeeper://127.0.0.1:2181/" group="test"/>

   <dubbo:consumer timeout="5000"/>

   <!-- 掃描注解包路徑,多個包用逗號分隔,不填pacakge表示掃描當前ApplicationContext中所有的類 -->

<dubbo:annotation package="com.unj.dubbotest.serviceImp" /> 

<!-- xml配置 : 聲明需要暴露的服務接口 -->

<!--      <dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService" /> -->

    <!-- xml配置 :和本地bean一樣實現服務-->

<!--     <bean id="demoService" class="com.unj.dubbotest.serviceImp.FooServiceImpl" /> -->

</beans>

測試類Provider

 duboo的使用分析

package com.alibaba.dubbo.test;

import java.io.IOException;

import org.junit.Before;

import org.junit.Test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Provider {

@Before

public void setUp() throws Exception {

}

@Test

public void testMain() throws IOException {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(

new String[] { "applicationContext.xml" });

context.start();

System.in.read();// 按任意鍵退出 

}

}

lib下的jar包

duboo的使用分析

客戶端項目:DubboServiceConsumer

duboo的使用分析

web.xml 配置掃描內容

duboo的使用分析

applicationContext.xml文件

duboo的使用分析

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"  

xmlns:context="http://www.springframework.org/schema/context"

    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">  

<!-- 客戶端- 服務消費方   -->

   <!-- 公共信息,也可以用dubbo.properties配置 -->

   <dubbo:application name="xx" />

   <dubbo:registry address="zookeeper://127.0.0.1:2181" />

   <dubbo:consumer timeout="5000"/>

 <!-- 掃描注解包路徑,多個包用逗號分隔,不填pacakge表示掃描當前ApplicationContext中所有的類 -->

    <dubbo:annotation package="com.unj.dubbotest.action" />

</beans>

測試類:Consumer

duboo的使用分析

package com.unj.dubbotest.action;

import java.io.IOException;

import org.junit.Test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.alibaba.dubbo.config.annotation.Reference;

import com.alibaba.dubbo.demo.DemoService;

public class Consumer{

@Reference(version = "1.0")

private DemoService demoService;

@Test

public  void mainTest() throws IOException {

ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext(

new String[] {"applicationContext.xml"}); 

       context.start(); 

        demoService = (DemoService)context.getBean("demoService"); // 獲取遠程服務代理 

       String hello = demoService.sayHello("world"); // 執行遠程方法 

       System.out.println( hello ); // 顯示調用結果 

   }

}

lib下的jar包

duboo的使用分析

看完上述內容,你們對duboo的使用分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿图什市| 千阳县| 桂平市| 蒲城县| 汨罗市| 邹平县| 上杭县| 子长县| 肇源县| 宝鸡市| 沈阳市| 平武县| 车险| 宿松县| 壤塘县| 武邑县| 六安市| 珠海市| 镇康县| 柞水县| 布拖县| 佛山市| 儋州市| 桐梓县| 湘潭市| 舟山市| 沁源县| 阿尔山市| 葫芦岛市| 马关县| 兴化市| 莫力| 滨州市| 家居| 垦利县| 襄汾县| 中卫市| 霍林郭勒市| 上饶市| 陕西省| 叶城县|