SpringBoot中添加Hessian框架

Hessian一般用来做RPC接口,通过http传输二进制文件,用于程序和程序之间的通信。 在这个例子中,有两个项目,客户端(hessianClient)和主项目(asset)

1.新建一个Springboot项目

导入依赖为

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-starter-web

com.caucho

hessian

4.0.33

2.写调用的接口文件

MyHessianService.java

package com.ucardemo.asset.api;

import com.ucardemo.asset.model.User;

public interface MyHessianService {

public String justHadEnoughParties();

public boolean checkLogin(User user);

}

MyHessianServiceImpl.java

@Service("myHessianService")

public class MyHessianServiceImpl implements MyHessianService {

[@Override](https://my.oschina.net/u/1162528)

public String justHadEnoughParties() {

System.out.println("task--------------->");

return "Please save me..";

}

[@Override](https://my.oschina.net/u/1162528)

public boolean checkLogin(User user) {

String username=user.getUsername();

String password=user.getPassword();

if(username.equals("tdw") && password.equals("123456")){

System.out.println("登录成功");

return true;

}

System.out.println("登录失败");

return false;

}

}

3.在主Application中注册一个HessianBean

@Autowired

MyHessianService myHessianService;

@Bean(name = "/myHessianService")

public HessianServiceExporter exportHelloService() {

HessianServiceExporter exporter = new HessianServiceExporter();

exporter.setService(myHessianService);

exporter.setServiceInterface(MyHessianService.class);

return exporter;

}

4.写一个服务端的项目,调用接口

关键点:

客户端需要调用服务端的服务,需要将服务端项目打包成jar

客户端引用jar文件,才能调用接口

客户端核心代码:

package com.useapi.hessionclient.Controller;

import com.caucho.hessian.client.HessianProxyFactory;

import com.ucardemo.asset.api.MyHessianService;

import com.ucardemo.asset.model.User;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.bind.annotation.RestController;

import java.net.MalformedURLException;

@RestController

public class ClientController {

@RequestMapping("/xxxx")

@ResponseBody

public void test() throws MalformedURLException {

String url = "http://localhost:8081/myHessianService";

HessianProxyFactory factory = new HessianProxyFactory();

MyHessianService myHessianService = (MyHessianService) factory.create(MyHessianService.class, url);

User user=new User();

user.setPassword("123");

user.setUsername("123");

Boolean b= myHessianService.checkLogin(user);

System.out.println(b);

}

}

JAVA spring hessian_Springboot写的Hessian例子相关推荐

  1. JAVA spring hessian_Spring Boot整合hessian入门

    前言 看了其他的文章发现,大多数都是只写了关键的部分,对于一个初学者来说只能明白用了什么东西,但实际动手发现,项目还存在一些问题,通过本篇文章,可以避免一些问题,节省一些时间成本. Hessian简介 ...

  2. java中事务实例,Java Spring 事务管理器入门例子教程(TranscationManager)

    注:阅读本文之前请务必有上文的基础 本文我们使用的事务管理器(TranscationManager)的作用是保证一组数据库操作的原子性.保证在操作时,如果出现异常,事务管理器会将状态恢复到进行本组操作 ...

  3. Hessian Spring相关使用的简单例子

    一.简介 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议(Binary),因为采用的是二进制协议,所以它很适合于发送二进制数据.Hessian通常通过Web应用来提供服 ...

  4. 文本文件 java_简单的用java实现读/写文本文件的示例

    简单的用java实现读/写文本文件的示例 更新时间:2008年07月26日 13:09:26   作者: 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据 ...

  5. java spring框架 注解_史上最全的java spring注解

    史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...

  6. @async注解_史上最全的java spring注解

    史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...

  7. 在ABAP里模拟实现Java Spring的依赖注入

    Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...

  8. 推荐学java——Spring之AOP

    tips:本文首发在公众号逆锋起笔 ,本文源代码在公众号回复aop 即可查看. 什么是AOP? AOP (Aspect Orient Programming),直译过来就是 面向切面编程.AOP 是一 ...

  9. Java Spring @Scheduled 定时任务crontab表达式设置

    Java Spring @Scheduled 定时任务crontab表达式设置 1. Cron详解 2. 例子 参考 1. Cron详解 Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或 ...

最新文章

  1. 里海水位上升的原因_汽轮机真空下降的原因及处理
  2. Python常见的数据类型【数字、布尔、字符串、列表和元组、字典】
  3. boost::python::converter::as_to_python_function相关的测试程序
  4. 如何在IE让用户自动下载ActiveX控件?
  5. 交互规则_您必须永不中断的10条交互设计规则
  6. Android之内存溢出(Out Of Memory)的总结
  7. 在.Net中实现RichClient+Restful+JPA架构-探索实现
  8. Sublime Text3插件管理
  9. 华为鸿蒙巴龙麒麟,华为5G新机强势曝光:麒麟985+巴龙5000+鸿蒙系统,颜值性能炸裂...
  10. 财智理财7破解思路与总结
  11. SpringCloud基础学习
  12. HTB-Unified
  13. 辽宁省朝阳市高考成绩查询2021,2021年朝阳高考状元多少分是谁,朝阳高考状元名单资料...
  14. 二元非洲秃鹫优化算法附Matlab代码
  15. euv光刻机有什么用_EUV到底是什么东西?光刻机上为何频频提到EUV
  16. LeetCode 416分割等和子集
  17. 微信小程序怎么免费做
  18. 计算机软件著作权材料模板
  19. 【汤姆猫的实现 Objective-C语言】
  20. 基于JIRA的产品需求全生命周期管理实践

热门文章

  1. STM32F4使用FPU+DSP库进行FFT运算的测试过程一
  2. 2019 2月主流手机系统版本
  3. 【C++】迭代器、反向迭代器详解
  4. [mysql]my.cnf在哪里
  5. Cognos入门教程
  6. android串口通信——android-serialport-api
  7. OpenShift 4 - 在单机版 OpenShift Local 中运行 OpenShift Virtualization(视频)
  8. 文件上传漏洞靶场upload-labs学习(pass11-pass15)
  9. 说说java中extends与implements的区别
  10. 如何在Mac上安装IntelliJ IDEA