当前位置: 首页 > news >正文

网站重新建设的通知定安免费建站公司

网站重新建设的通知,定安免费建站公司,徐州小程序开发哪家好,试玩无限刷一天赚500背景 这段时间在公司接手了一个新项目#xff0c;看到一段代码非常奇怪的#xff0c;研究了好久。内容大概是这样 public void getUser (int id) {userService.getById(id); }当我点击这个方法进去的时候#xff0c;我发现这个UserService类居然是导入jar包的一个接口看到一段代码非常奇怪的研究了好久。内容大概是这样 public void getUser (int id) {userService.getById(id); }当我点击这个方法进去的时候我发现这个UserService类居然是导入jar包的一个接口而且没有实现类。反编译过来的代码大概是这样 public Interface UserService {User getById(int id); }没有实现类也没有类似于feign这种远程调用。我思考了很久到底是怎样可以做到只用接口就实现功能了首先想到的是mybatis的mapper类型接口但是这种人家有Mapper注解能用切面之类的。如果是rpc或者微服务怎么会没有远程调用地址根据我使用过的框架feign、dubbo、restTemplate哪个没有远程调用地址莫非是为了代码的保密性将接口和实现类分开打Jar包了摸索了半天什么都没发现。 后来我看到一个很奇怪的名词Hessian百度了解之后得知这玩意就是rpc框架。。。而且使用的方式有很大不一样就学习了一下。所谓的只有接口没有实现类和feign调用的那种方式差不多由服务提供者来提供一个jar包里面全是接口和一些vo类。 Hessian入门学习 Hessian协议是一种轻量级的RPC协议可以用于高效地实现跨语言的服务调用。在本文中我们将介绍如何使用Spring Boot实现基于Hessian协议的RPC服务。 1. 添加Hessian依赖 在开始之前我们需要在Spring Boot项目中添加Hessian依赖。可以在pom.xml文件中添加以下依赖 dependencygroupIdcom.caucho/groupIdartifactIdhessian/artifactIdversion4.0.38/version /dependency 2. 创建RPC接口 创建一个接口包含需要远程调用的方法。例如创建一个名为UserService的接口包含getUserById()方法 public interface UserService {User getUserById(int userId); } 3. 实现RPC接口 创建一个UserService的实现类并在其中实现getUserById()方法。例如 Service public class UserServiceImpl implements UserService {Overridepublic User getUserById(int userId) {// 实现获取用户信息的逻辑return userDao.getUserById(userId);} } 4. 配置Hessian服务端 在Spring Boot应用程序的配置类中使用HessianServiceExporter将UserService实现类暴露为Hessian服务端。例如 Configuration public class HessianConfig {Autowiredprivate UserService userService;Bean(name /userService)public HessianServiceExporter hessianServiceExporter() {HessianServiceExporter exporter new HessianServiceExporter();exporter.setService(userService);exporter.setServiceInterface(UserService.class);return exporter;} } 在上面的配置中使用Bean注解将HessianServiceExporter实例化为Spring Bean并使用/setService()和/setServiceInterface()方法将UserService实现类暴露为Hessian服务端。 5. 测试Hessian服务端 启动Spring Boot应用程序并访问http://localhost:8080/userService。如果一切正常应该会看到Hessian服务端的欢迎信息。 6. 创建RPC客户端 创建一个名为UserServiceClient的接口并在其中定义远程调用getUserById()方法。例如 public interface UserServiceClient {User getUserById(int userId); } 7. 配置Hessian客户端 在Spring Boot应用程序的配置类中创建一个HessianProxyFactoryBean实例并使用/setServiceUrl()和/setServiceInterface()方法将UserServiceClient接口绑定到Hessian服务端。例如 Configuration public class HessianConfig {// 配置Hessian服务端Autowiredprivate UserService userService;Bean(name /userService)public HessianServiceExporter hessianServiceExporter() {HessianServiceExporter exporter new HessianServiceExporter();exporter.setService(userService);exporter.setServiceInterface(UserService.class);return exporter;}// 配置Hessian客户端Beanpublic HessianProxyFactoryBean userServiceClient() {HessianProxyFactoryBean factory new HessianProxyFactoryBean();factory.setServiceUrl(http://localhost:8080/userService);factory.setServiceInterface(UserServiceClient.class);return factory;} } 在上面的配置中使用Bean注解将HessianProxyFactoryBean实例化为Spring Bean并使用/setServiceUrl()和/setServiceInterface()方法将UserServiceClient接口绑定到Hessian服务端。 8. 测试Hessian客户端 在需要调用UserService的代码中使用Autowired注解将UserServiceClient实例化为Spring Bean。例如 Service public class UserServiceCaller {Autowiredprivate UserServiceClient userServiceClient;public User getUserById(int userId) {return userServiceClient.getUserById(userId);} } 在上面的代码中使用Autowired注解将UserServiceClient实例化为Spring Bean并调用getUserById()方法以远程调用Hessian服务端。 9. 完成 现在已经成功地使用Spring Boot实现了基于Hessian协议的RPC服务和客户端。你可以在应用程序中使用这些服务和客户端来实现远程过程调用从而使应用程序更加灵活和高效。
http://www.hkea.cn/news/14506672/

相关文章:

  • 建房子找哪个网站设计下一页360
  • 学做网站从什么开始怎么设置网站支付功能
  • 网站建设有前景吗如何创建自己的网站链接
  • 专业制作网站推荐怎么用易语言做网站
  • 果洛州公司网站建设互联网创业项目平台
  • 长春公司做网站网站排名如何做
  • 迁西网站开发网页设计与制作的岗位职责
  • 杭州微网站开发公司跨境电商app有哪些
  • 网站做支付需要准备什么网站开发工程师岗位要求
  • 嘉兴丝绸大厦做网站的公司wordpress主题动态
  • 福州网站建设设计公司wordpress实现多用户
  • 网站建设类织梦模板wordpress精简
  • wordpress中文企业网站百度网页版入口官网
  • 国外设计网站app有哪些做一个卖货的app要多少钱
  • 包装技术支持 东莞网站建设苏州做网站的公司哪家最好
  • 广西南宁电商网站建设网站的数据库怎么备份
  • 大连建站公司北京奢侈品商场排名
  • 湖南营销型网站建设 j磐石网络乐清新闻最新消息
  • 湘潭做网站推荐磐石网络廊坊做网站的公司
  • 信誉好的企业网站建设西地那非我吃了5年
  • 服务器网站管理系统大连市的网络平台有几家
  • 如何搭建一个网站重庆渝中区企业网站建设哪家好
  • 建设银行网站打不开用什么浏览器效果图怎么做出来的
  • 忻州做网站建设私人网站
  • wordpress全站公告网页建站网站
  • 哪里可学做网站上海网站建设定制公司
  • 广西公司搭建网站公司建设银行征信中心官方网站
  • 宁波住房和城乡建设局网站河北建筑工程学院招生网
  • 城阳做网站的网站icp备案查不到
  • 武胜建设局网站超级营销型网站模板