dubbox入门小demo_何欢小星星的博客-程序员秘密

技术标签: dubbox  

  • linux系统搭建环境
    安装tomcat和zookeeper注册中心,如果是在同一台机器,zookeeper端口号是2181,不用进行修改.
  • 服务提供者开发
    创建业务接口
    @Service要用阿里巴巴dubbo提供的注解,并在web.xml配置springlistener,
    在spring配置文件中,配置如下
<dubbo:application name="dubboxdemo-service"/>  
<dubbo:registry address="zookeeper://192.168.25.128:2181"/> 
<dubbo:annotation package="cn.itcast.dubboxdemo.service" /> 
  • 服务消费者开发
    web.xml配置
 <!-- 解决post乱码 -->
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>		
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
		<init-param>  
            <param-name>forceEncoding</param-name>  
            <param-value>true</param-value>  
        </init-param>  
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>		
  <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>
  </servlet>  
  <servlet-mapping>
  	<servlet-name>springmvc</servlet-name>
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>
</web-app>
  • Controller类代码
    @Controller
    @RequestMapping("/user")
    public class UserController {
    @Reference
    private UserService userService;
    @RequestMapping("/showName")
    @ResponseBody
    public String showName(){
    return userService.getName();
    }

拷贝服务提供者业务服务包和接口
spring配置如下

<mvc:annotation-driven >
		<mvc:message-converters register-defaults="false">
			<bean class="org.springframework.http.converter.StringHttpMessageConverter">  
				<constructor-arg value="UTF-8" />
			</bean>  
		</mvc:message-converters>	
	</mvc:annotation-driven>
	<!-- 引用dubbo 服务 -->
	<dubbo:application name="dubboxdemo-web" />
	<dubbo:registry address="zookeeper://192.168.25.132:2181"/>
     <dubbo:annotation package="cn.itcast.dubboxdemo.controller" />
</beans>

浏览器输入http://localhost:8082/user/showName.do,查看测试结果

dubbox2.8.4需要jdk1.8支持

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_29211659/article/details/82793832

智能推荐

三菱plc传送文件到服务器,三菱Q系列PLC通过FTP文件传输案例介绍_洪嘉君的博客-程序员秘密

通过配备了FTP 客户端功能的对象设备可以对CPU 模块的文件进行下述操作(a) 从CPU 模块中读取文件( 下载):是用于在对象设备中保存CPU 模块的文件的功能。(b)向CPU 模块中写入文件( 上载):是用于将对象设备中保存的文件登录到CPU 模块中的功能。(c) CPU 模块内的文件名浏览:是用于通过对象设备对CPU 模块中登录的文件进行确认的功能。本案例是从CPU模块中读取文件(下载)...

【Matlab】替换数组或矩阵的元素_matlab替换矩阵中元素_十子木的博客-程序员秘密

替换数组中的元素首先生成一个数组&amp;amp;gt;&amp;amp;gt; U0=[1 2 3 4 5 6]U0 = 1 2 3 4 5 6将U0中的第2个和第5个替换成0。&amp;amp;gt;&amp;amp;gt; U0([2,5])=0U0 = 1 0 3 4 0 6将U0中的第2个到第5个替换成0。&amp;amp;gt;&amp;amp;gt; U0([

AMD zen3 5600X + B550M 黑苹果 EFI Big Sur 11.5.2_hackintosh 5600x_das2m的博客-程序员秘密

AMD zen3 5000 系 CPU + B550M 黑苹果CPU: AMD zen3 R5 5600XMotherboards: ASUS B550M PLUS WIFIMemory: Gloway 光威弈 DDR4 [email protected] card: DATALAND RX580 8G 2304spSSD: WD SN750 500GPOWER SUPPLY: CORSAIR CX600MASUS B550M PLUS WIFI 主板参数https://www.asus.c

oracle让11gR2增加的功能,11gr2 增加 oracle restart_李诞的博客-程序员秘密

Oracle Restart是数据库组件监控方法向单实例数据库中的延展,之前srvctl命令可以用来管理RAC数据库中的各个组件,安装了Oracle Restart之后,对于单实例数据库组件(包括数据库实例,监听,ASM实例,ASM磁盘组,自建Service等)也可以使用srvctl命令来管理,同时Oracle会在这些组件发生意外关闭的时候自动重新启动。安装其实很简单,实际上没有单独安装Oracl...

长沙黑马程序员 JS正则表达式语法详解_长沙黑马小知老师的博客-程序员秘密

# JS正则表达式语法详解## 前言正则表达式在线图形化描述:https://regexper.com什么是正则表达式?说白了,就是用来按照某种规则去匹配字符串的表达式## RegExp对象JS 通过内置对象 `RegExp` 支持正则表达式,有两种方法实例化 `RegExp` 对象- 字面量- 构造函数## 字面量范例:```javascriptvar r...

Redis+Nginx+JVM+设计模式+Spring全家桶+Dubbo万字总结_hello-java-maker的博客-程序员秘密

前言本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。本来想将文件上传到git...

随便推点

java注释、标识符、关键字和数据类型_ballzee的博客-程序员秘密

java中的注释(三种)单行注释://内容多行注释:/*​ 内容​ */文档注释(可以加参数):/***@Description Helloworld*@Author 阿泽学跟着狂神学java*/有趣的代码注释/*** * ...

linux cshrc文件,linux-在.cshrc中设置PATH无效_weixin_39542889的博客-程序员秘密

在我的.cshrc中,有两行:setenv PATH /a/bin:$PATHcd /a/的结果setenv是...PATH=/a/bin:...的结果ls -l /a/bin是-rwxr-x--x 1 evgeny evgeny 122 May 13 13:43 run_me的结果run_me是run_me: Command not found.如何解决?解决方法:因为tcsh或csh使用不同的...

fseek 扩展文件_fseek 扩大_user_define_race的博客-程序员秘密

#include int main(void){ FILE *fp; fp = fopen("xxx.avi", "w"); fseek(fp, 4*1000*1000-1, SEEK_END); //必须跟一次写操作,才能真正的拓展文件 fputc('a', fp); fclose(fp); return 0;}

anaconda pythonpath,如何将anaconda添加到PATH?_千纸鹤Amanda的博客-程序员秘密

I downloaded Anaconda on my system (Mac OS), for now solely for the purpose of using Spyder to code in Python. I am having two issues, which are probably easy to solve for someone who is more fit with...

编程题:数据的规范化处理问题-hebust(Java)_在进行数据处理时,输入数据未经过滤,存在一些不符合要求的数据 要求编写数据处理_沫忆拾忆的博客-程序员秘密

在进行数据处理时,输入数据未经过滤,存在一些不符合要求的数据 要求编写数据处理程序,小于0的数据一律指定为0,大于100的数据一律指定为100输入格式:输入:所有元素占一行,元素之间使用空格分开,元素均为整数,范围【-300…300】输出格式:输出:所有元素占一行,元素之间使用西文逗号分开,最后一个元素末尾保留西文逗号输入样例:在这里给出一组输入。例如:-1 10 105输出样例:在这里给出相应的输出。例如:0,10,100,import java.util.Scanner;

推荐文章

热门文章

相关标签