spring boot整合hessian的示例

 更新时间:2017年07月18日 09:27:43   作者:sias1991   我要评论

本文通过实例代码给大家介绍了spring boot整合hessian的方法,需要的朋友可以参考下

首先添加hessian依赖

<dependency>  
   <groupId>com.caucho</groupId>  
    <artifactId>hessian</artifactId>  
    <version>4.0.38</version>
</dependency>

服务端:HessianServer,端口号:8090

public interface HelloWorldService {
  String sayHello(String name);
}
@Service("HelloWorldService")
public class HelloWorldServiceImpl implements HelloWorldService {
  @Override
  public String sayHello(String name) {
    return "Hello World! " + name;
  }
}
@SpringBootApplication
public class HessianServerApplication {
  @Autowired
  private HelloWorldService helloWorldService;
  public static void main(String[] args) {
    SpringApplication.run(HessianServerApplication.class, args);
  }
//发布服务
  @Bean(name = "/HelloWorldService")
  public HessianServiceExporter accountService() {
    HessianServiceExporter exporter = new HessianServiceExporter();
    exporter.setService(helloWorldService);
    exporter.setServiceInterface(HelloWorldService.class);
    return exporter;
  }
}

客户端代码:HessianClient,同服务端一样引入hessian依赖,端口号:8092

public interface HelloWorldService {
  String sayHello(String name);
}
@SpringBootApplication
public class HessianClientApplication {
  @Bean
  public HessianProxyFactoryBean helloClient() {
    HessianProxyFactoryBean factory = new HessianProxyFactoryBean();
    factory.setServiceUrl("http://localhost:8090/HelloWorldService");
    factory.setServiceInterface(HelloWorldService.class);
    return factory;
  }
  public static void main(String[] args) {
    SpringApplication.run(HessianClientApplication.class, args);
  }
}
@RestController
public class TestController {
  @Autowired
  private HelloWorldService helloWorldService;
  @RequestMapping("/test")
  public String test() {
    return helloWorldService.sayHello("Spring boot with Hessian.");
  }
}

访问地址即可:http://localhost:8092/test

PS:springboot hessian

注意把hessian的依赖换成4.0.38或者把git文件里的4.0.37放到maven私服中去,推荐使用4.0.37版本。38版本存在序列化bigdecimal的问题。

<dependency>
     <groupId>com.caucho</groupId>
     <artifactId>hessian</artifactId>
     <version>4.0.37</version>
  </dependency>

git:

https://git.oschina.net/wong_loong/rpc.git

以上所述是小编给大家介绍的spring boot整合hessian的示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • java实现自动回复聊天机器人

    java实现自动回复聊天机器人

    这篇文章主要为大家详细介绍了java实现自动回复聊天机器人,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • springMVC几种页面跳转方式小结

    springMVC几种页面跳转方式小结

    本篇文章主要介绍了springMVC 几种页面跳转方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Java开发者推荐的10种常用工具

    Java开发者推荐的10种常用工具

    这篇文章主要为大家详细介绍了Java开发者推荐的10种常用工具,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 使用Spring自定义注解实现任务路由的方法

    使用Spring自定义注解实现任务路由的方法

    本篇文章主要介绍了使用Spring自定义注解实现任务路由的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • java 格式化输出数字的方法

    java 格式化输出数字的方法

    在实际工作中,常常需要设定数字的输出格式,如以百分比的形式输出,或者设定小数位数等,现稍微总结如下
    2014-01-01
  • 区分Java的方法覆盖与变量覆盖

    区分Java的方法覆盖与变量覆盖

    作为初学者2个比较容易出错的定义,方法覆盖和变量覆盖。下面我们一起来看看作者如何去探讨Java的方法覆盖和变量覆盖。
    2015-09-09
  • java中的hashCode方法小例子

    java中的hashCode方法小例子

    这篇文章主要介绍了java中的hashCode方法小例子,有需要的朋友可以参考一下
    2013-12-12
  • java使用spring实现读写分离的示例代码

    java使用spring实现读写分离的示例代码

    本篇文章主要介绍了java使用spring实现读写分离的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 页面的缓存与不缓存设置及html页面中meta的作用

    页面的缓存与不缓存设置及html页面中meta的作用

    这篇文章主要介绍了页面的缓存与不缓存设置及html页面中meta的作用的相关资料,需要的朋友可以参考下
    2016-05-05
  • Java JDK 动态代理的使用方法示例

    Java JDK 动态代理的使用方法示例

    Java 动态代理机制以巧妙的方式近乎完美地实践了代理模式的设计理念。下面这篇文章主要给大家分享了关于Java JDK 动态代理的使用方法示例,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07

最新评论