dubbo2.7.5整合spirngMVC入门demo(Apache)

  • 阿里的dubbo在放弃维护一段时间后,又悄悄的开始维护了,并且现在进入apache孵化。由于中途一段时间由dangdang维护,改名dubbox,而且更新到了2.8.5的版本,所以在使用上可能有一定差异。所以在此写出duboo2.7.5的入门demo。与大家共同学习探讨
  • 这篇文章默认你已经会springMVCmaven

一、注册中心

1.这里duboo的使用是要配合注册中心的,我这里推荐zookeeper。
dubbo2.7.5整合spirngMVC入门demo(Apache)_第1张图片
2.根据图片提示进行下载
3.解压后进入bin目录
dubbo2.7.5整合spirngMVC入门demo(Apache)_第2张图片
4.直接./zkServer.sh start启动即可
– 其默认端口为2181

二、创建三个项目(api,provider,consumer)

在这里插入图片描述

  1. apijar包,提供接口供providerconsumer使用
    api里面只有一个接口
    dubbo2.7.5整合spirngMVC入门demo(Apache)_第3张图片
    pom.xml
    其实api并不需要这些jar包,这里导入是因为consumerprovider都需要,偷个懒
<dependencies>
        
        <dependency>
            <groupId>javax.servletgroupId>
            <artifactId>javax.servlet-apiartifactId>
            <version>3.0.1version>
        dependency>
        
        <dependency>
            <groupId>org.apache.dubbogroupId>
            <artifactId>dubboartifactId>
            <version>2.7.5version>
            
            <exclusions>
                <exclusion>
                    <groupId>org.springframeworkgroupId>
                    <artifactId>spring-contextartifactId>
                exclusion>
            exclusions>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>5.2.0.RELEASEversion>
        dependency>
        
        <dependency>
            <groupId>org.apache.curatorgroupId>
            <artifactId>curator-frameworkartifactId>
            <version>4.0.1version>
        dependency>
        <dependency>
            <groupId>org.apache.curatorgroupId>
            <artifactId>curator-recipesartifactId>
            <version>4.0.1version>
        dependency>

    dependencies>
  1. consumer(消费者)为war包,并在pom中引用api
    pom.xml

<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">
    <parent>
        <artifactId>dubboTestartifactId>
        <groupId>org.examplegroupId>
        <version>1.0-SNAPSHOTversion>
    parent>

    <modelVersion>4.0.0modelVersion>
    <packaging>warpackaging>

    <name>comsumername>
    <artifactId>comsumerartifactId>

    <dependencies>
        <dependency>
            <groupId>org.examplegroupId>
            <artifactId>apiartifactId>
            <version>1.0-SNAPSHOTversion>
        dependency>
    dependencies>

project>

这里的consumer类只有一个controller
dubbo2.7.5整合spirngMVC入门demo(Apache)_第4张图片
注意这里的注解不要导错包
Spring.xml配置文件内容


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
	
    <context:component-scan base-package="com.az"/>
    <mvc:annotation-driven/>
	
    <dubbo:application name="provider"/>
    
    <dubbo:registry protocol="zookeeper" address="192.168.200.129:2181"/>
    
    <dubbo:annotation package="com.az"/>

beans>

web.xml中将dispatcherservlet配置好即可

  1. provider(供应者)为war包,在pom中引用api
    pom.xml


<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">
    <parent>
        <artifactId>dubboTestartifactId>
        <groupId>org.examplegroupId>
        <version>1.0-SNAPSHOTversion>
    parent>

    <modelVersion>4.0.0modelVersion>
    <packaging>warpackaging>

    <name>providername>

    <dependencies>
        <dependency>
            <groupId>org.examplegroupId>
            <artifactId>apiartifactId>
            <version>1.0-SNAPSHOTversion>
        dependency>
    dependencies>

    <artifactId>providerartifactId>


project>

provider中只有一个api的实现类,并加上@Service注解
dubbo2.7.5整合spirngMVC入门demo(Apache)_第5张图片
applicationContext.xml内容


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">


    <dubbo:application name="provider"/>
    <dubbo:registry protocol="zookeeper" address="192.168.200.129:2181"/>
    <dubbo:annotation package="com.az.imp"/>

beans>

web.xml内容



<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
    listener>
    <context-param>
        <param-name>contextConfigLocationparam-name>
        <param-value>WEB-INF/applicationContext.xmlparam-value>
    context-param>

web-app>
        
三、开始测试

1.为cosumerprovider各配置一个tomcat启动
dubbo2.7.5整合spirngMVC入门demo(Apache)_第6张图片
2. 根据你的consumermapping进行测试
dubbo2.7.5整合spirngMVC入门demo(Apache)_第7张图片
到这里就已经测试成功了,
返回两个问好是因为没有进行编码处理
consumer中进行编码处理即可

你可能感兴趣的:(学习)