在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
众所周知,。通过Dubbo可以创建服务消费方的应用,实现服务消费方远程调用服务提供方的方法。下面一起来看看Dubbox服务消费方开发详解,具体内容包括六个详细的开发步骤。
1、创建maven工程(打包方式为war)dubbodemo_consumer,pom.xml配置和上面服务提供者相同,只需要将Tomcat插件的端口号改为8082即可。
2、配置web.xml文件
~~~xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-web.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
~~~
3、将服务提供者工程中的HelloService接口复制到当前工程
4、编写Controller
~~~java
package com.itheima.controller;
import com.alibaba.dubbo.config.annotation.Reference;
import com.itheima.service.HelloService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/demo")
public class HelloController {
@Reference
private HelloService helloService;
@RequestMapping("/hello")
@ResponseBody
public String getName(String name){
//远程调用
String result = helloService.sayHello(name);
System.out.println(result);
return result;
}
}
~~~
注意:Controller中注入HelloService使用的是Dubbo提供的@Reference注解
5、在src/main/resources下创建applicationContext-web.xml
~~~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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样 -->
<dubbo:application name="dubbodemo-consumer" />
<!-- 连接服务注册中心zookeeper ip为zookeeper所在服务器的ip地址-->
<dubbo:registry address="zookeeper://192.168.134.129:2181"/>
<!-- 扫描的方式暴露接口 -->
<dubbo:annotation package="com.itheima.controller" />
</beans>
~~~
6、运行测试
tomcat7:run启动
在浏览器输入http://localhost:8082/demo/hello.do?name=Jack,查看浏览器输出结果。
以上就是Dubbox服务消费方开发详解的全部内容,大家都看懂了吗?如果想要学习更多有关Dubbox的内容,可以继续关注博学谷资讯Java栏目,我们将不定期更新学习资源~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Overload 和 Override 的区别,Overloaded 改变返回值的类型?
Overload 和 Override 的区别。Overloaded 的方法是否可以改变返回值的类型?Overload 是重载的意思,Override 是覆盖的意思,也就是重写。重载 Overload 表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
9570
2019-04-17 16:37:29
Java编码规范整理汇总
在Java的入门过程中,我们首先要养成一个良好的编写代码习惯。那么,了解清楚Java的编码规范就显得尤为必要了。编码格式不仅仅是美不美观的问题。这里我们可以试想一下,如果在Java开发中编码不规范,容易出现bug不说,而且后续还难以维护。因此,遵守编码规范可以让代码的风格好像是一个人写出来的,即使是有很多人参与这个开发项目。
5507
2020-03-06 15:13:29
Java学习看什么书比较好?
虽然视频学习资料是许多人入门或提升编程的首选,但是书籍材料对学习者来讲,也是必须要看的。尤其对于处在不同能力阶段的人来讲,选择适合自己学习的书尤为重要。那么,Java学习看什么书比较好呢?下面本文会按照基础入门和进阶提升两个方面,推荐适合各个能力阶段学习的书籍。
4631
2020-07-10 10:40:20
JVM内存区域复习汇总
相信绝大所数的开发求职者在面试中,总能遇到面试官问JVM内存区域的相关知识点。今天小编就来和大家一起复习一遍JVM内存区域,主要内容包括内存区域的划分、运行数据区、生命周期以及了解JVM内存的方法。
4680
2020-07-16 14:48:51
参加Java培训能学到哪些实训项目?
为了快速达到Java开发工程师的技术水平,大部分同学选择通过参加Java培训的方式进行学习,通过Java培训大家可以学习到系统的Java技术,同时还能通过大量的实训项目弥补自身实战能力较弱的缺陷。现在参加Java培训能学到哪些实训项目?对自己未来的就业有帮助吗?
5700
2020-07-29 09:22:24