JAVA spring hessian_Springboot写的Hessian例子
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例子相关推荐
- JAVA spring hessian_Spring Boot整合hessian入门
前言 看了其他的文章发现,大多数都是只写了关键的部分,对于一个初学者来说只能明白用了什么东西,但实际动手发现,项目还存在一些问题,通过本篇文章,可以避免一些问题,节省一些时间成本. Hessian简介 ...
- java中事务实例,Java Spring 事务管理器入门例子教程(TranscationManager)
注:阅读本文之前请务必有上文的基础 本文我们使用的事务管理器(TranscationManager)的作用是保证一组数据库操作的原子性.保证在操作时,如果出现异常,事务管理器会将状态恢复到进行本组操作 ...
- Hessian Spring相关使用的简单例子
一.简介 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议(Binary),因为采用的是二进制协议,所以它很适合于发送二进制数据.Hessian通常通过Web应用来提供服 ...
- 文本文件 java_简单的用java实现读/写文本文件的示例
简单的用java实现读/写文本文件的示例 更新时间:2008年07月26日 13:09:26 作者: 同时也展示了如果从输入流中读出来内容写入输出流中(仅限文本流) 三个例子可以独立存在,所以根据 ...
- java spring框架 注解_史上最全的java spring注解
史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...
- @async注解_史上最全的java spring注解
史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...
- 在ABAP里模拟实现Java Spring的依赖注入
Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...
- 推荐学java——Spring之AOP
tips:本文首发在公众号逆锋起笔 ,本文源代码在公众号回复aop 即可查看. 什么是AOP? AOP (Aspect Orient Programming),直译过来就是 面向切面编程.AOP 是一 ...
- Java Spring @Scheduled 定时任务crontab表达式设置
Java Spring @Scheduled 定时任务crontab表达式设置 1. Cron详解 2. 例子 参考 1. Cron详解 Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或 ...
最新文章
- 里海水位上升的原因_汽轮机真空下降的原因及处理
- Python常见的数据类型【数字、布尔、字符串、列表和元组、字典】
- boost::python::converter::as_to_python_function相关的测试程序
- 如何在IE让用户自动下载ActiveX控件?
- 交互规则_您必须永不中断的10条交互设计规则
- Android之内存溢出(Out Of Memory)的总结
- 在.Net中实现RichClient+Restful+JPA架构-探索实现
- Sublime Text3插件管理
- 华为鸿蒙巴龙麒麟,华为5G新机强势曝光:麒麟985+巴龙5000+鸿蒙系统,颜值性能炸裂...
- 财智理财7破解思路与总结
- SpringCloud基础学习
- HTB-Unified
- 辽宁省朝阳市高考成绩查询2021,2021年朝阳高考状元多少分是谁,朝阳高考状元名单资料...
- 二元非洲秃鹫优化算法附Matlab代码
- euv光刻机有什么用_EUV到底是什么东西?光刻机上为何频频提到EUV
- LeetCode 416分割等和子集
- 微信小程序怎么免费做
- 计算机软件著作权材料模板
- 【汤姆猫的实现 Objective-C语言】
- 基于JIRA的产品需求全生命周期管理实践
热门文章
- STM32F4使用FPU+DSP库进行FFT运算的测试过程一
- 2019 2月主流手机系统版本
- 【C++】迭代器、反向迭代器详解
- [mysql]my.cnf在哪里
- Cognos入门教程
- android串口通信——android-serialport-api
- OpenShift 4 - 在单机版 OpenShift Local 中运行 OpenShift Virtualization(视频)
- 文件上传漏洞靶场upload-labs学习(pass11-pass15)
- 说说java中extends与implements的区别
- 如何在Mac上安装IntelliJ IDEA