SpringBoot整合Hessian

Hessian是一个轻量级的Binary RPC(二进制远程调用协议)协议的remoting on http框架(远程调用框架),这个跟我们以前常用的webservice比较类似,但是Hessian比较轻量级。

需要的maven依赖

     <!--引入hessian--><dependency><groupId>com.caucho</groupId><artifactId>hessian</artifactId><version>4.0.38</version></dependency>

1、服务端代码

1.1、业务接口

package com.msiwang.webservicedemo.service;/*** @author : wangm* create at:  2020/9/18  9:18 AM* @description: 测试hessian  demo接口*/
public interface HelloHessianService {/*** Discreption: 接口测试方法* @param: [name]* @return: java.lang.String* @author: wangm* @date: 2020/9/18 1:51 PM*/String hello(String name);
}

1.2、服务端业务代码接口实现类

package com.msiwang.webservicedemo.service;import org.springframework.stereotype.Service;/*** @author : wangm* create at:  2020/9/18  9:19 AM* @description: 测试hessian  demo接口*/
@Service
public class HelloHessianServiceImpl implements HelloHessianService {/*** Discreption: 接口测试方法* @param: [name]* @return: java.lang.String* @author: wangm* @date: 2020/9/18 1:51 PM*/@Overridepublic String hello(String name) {return "Hello Hessian "+name;}
}

1.3、服务端接口发布配置类,通过spirng的Configuration注解配置

package com.msiwang.webservicedemo.service;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.remoting.caucho.HessianServiceExporter;/*** @author : wangm* create at:  2020/9/18  1:47 PM* @description: hessian服务发布配置类*/
@Configuration
public class HessianConfig {@Autowiredprivate HelloHessianService helloHessianService;//发布服务@Bean(name = "/hessian")public HessianServiceExporter hessianServer() {HessianServiceExporter exporter = new HessianServiceExporter();exporter.setService(helloHessianService);exporter.setServiceInterface(HelloHessianService.class);return exporter;}
}

2、客户端调用代码

2.2、Application启动类

package com.msiwang.webserviceclient;import com.msiwang.webserviceclient.service.HelloHessianService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.remoting.caucho.HessianProxyFactoryBean;@SpringBootApplication
public class WebserviceClientApplication {@Beanpublic HessianProxyFactoryBean hessianClient() {HessianProxyFactoryBean hessianProxyFactoryBean = new HessianProxyFactoryBean();hessianProxyFactoryBean.setServiceUrl("http://localhost:8978/hessian");hessianProxyFactoryBean.setServiceInterface(HelloHessianService.class);return hessianProxyFactoryBean;}public static void main(String[] args) {SpringApplication.run(WebserviceClientApplication.class, args);}}

2.2、客户端业务接口,这里跟服务端业务接口一致

package com.msiwang.webserviceclient.service;/*** @author : wangm* create at:  2020/9/18  9:18 AM* @description: 测试hessian  client接口*/
public interface HelloHessianService {/*** Discreption: 接口测试方法* @param: [name]* @return: java.lang.String* @author: wangm* @date: 2020/9/18 1:51 PM*/String hello(String name);
}

SpringBoot整合Hessian相关推荐

  1. SpringBoot第九篇: springboot整合Redis

    这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis. 引入依赖: 在pom文件中添加redis依赖: <dependen ...

  2. es springboot 不设置id_原创 | 一篇解决Springboot 整合 Elasticsearch

    ElasticSearch 结合业务的场景,在目前的商品体系需要构建搜索服务,主要是为了提供用户更丰富的检索场景以及高速,实时及性能稳定的搜索服务. ElasticSearch是一个基于Lucene的 ...

  3. springboot整合shiro使用shiro-spring-boot-web-starter

    此文章仅仅说明在springboot整合shiro时的一些坑,并不是教程 增加依赖 <!-- 集成shiro依赖 --> <dependency><groupId> ...

  4. db2 springboot 整合_springboot的yml配置文件通过db2的方式整合mysql的教程

    springboot整合MySQL很简单,多数据源就master,slave就行了,但是在整合DB2就需要另起一行,以下是同一个yml文件 先配置MySQL,代码如下 spring: datasour ...

  5. 九、springboot整合rabbitMQ

    springboot整合rabbitMQ 简介 rabbitMQ是部署最广泛的开源消息代理. rabbitMQ轻量级,易于在内部和云中部署. 它支持多种消息传递协议. RabbitMQ可以部署在分布式 ...

  6. 八、springboot整合Spring Security

    springboot整合Spring Security 简介 Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架.它是保护基于Spring的应用程序的事实标准. Spr ...

  7. 六、springboot整合swagger

    六.springboot整合swagger 简介 swagger 提供最强大,最易用的工具,以充分利用OpenAPI规范. 官网 : https://swagger.io/ 准备工作 pom.xml ...

  8. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...

  9. Spring整合Hessian

    Spring整合Hessian from:http://lavasoft.blog.51cto.com/62575/191871 Spring让Hessian变得不但强大,而且易用,但是易用背后,却有 ...

最新文章

  1. C++自动生成的成员函数
  2. extlinux安装livecd到USB
  3. php路由器怎么登录认证,PHP用户身份验证,如路由器登录
  4. python接口测试声音,python接口测试-登录
  5. OCCI读写Oracle Spatial的SDO_Geometry
  6. 即插即用的轻量注意力机制ECA--Net
  7. 最长有效括号—leetcode32
  8. 在iOS设备上如何使用Chrome浏览器的书签
  9. 利用apache限制IP并发数和下载流量控制
  10. vSphere 7 With K8s系列-1~9 (微信公众号需要收费)
  11. 通过web的方式动态查看tomcat的catalina.out的日志(web.py)
  12. 好用的画图软件推荐 亿图图示专家,媲美visio的操作方式,更加本地化的应用。
  13. GridView 对列进行排序
  14. タイトル キャッスルファンタジア ~エレンシア戦記~リニューアル 艾伦西亚战记(艾伦希亚战记)日文攻略
  15. xp系统和win7系统哪个好
  16. OSChina 周二乱弹 ——爸爸陆陆续续回家了
  17. ffmpeg编译选项汇总
  18. linux性能优化大师(一)
  19. C语言console工具鼠标事件中xbutton侧键前进后退键的实现
  20. sample and hold(采样保持)模块介绍

热门文章

  1. 【11月英语】--我与♥英语PK台♥的二三事
  2. 【机器学习】50个最佳机器学习公共数据集
  3. org.apache.xmlbeans.impl.values.XmlValueDisconnectedException: null
  4. 【linux基本操作】
  5. 计算机缺少网络连接,电脑找不到网络连接怎么回事
  6. gbdt原文_GBDT多分类示例
  7. android 短信 ios9,iOS 9正式发布 网友吐槽:字体像安卓 _手机资讯
  8. div写input多选时间段标签,layui选择时间段
  9. 信号差和服务器关系,手机信号为什么差,和这几个原因有关系
  10. 【第16题】猴子吃桃问题