• javaWeb 控制层互相调用的两种方案


    1.情景展示

    在实际开发过程中,往往会存在同一个功能对应多个页面,或者多个请求对应底层代码一样,如果全部将原有代码复制一份,虽然保持了各自的独立性,但也加大了后期的维护成本,本来要干一遍的活儿,可能你现在要干多遍,所以,就有了:控制层调控制层的现实需求。

    2.具体分析

    控制器A调控制器B,可以最大程度的减少代码的重复;

    这种方式的使用有一个前提条件,即:

    按道理来讲,业务代码是要放到业务层来处理的,如果代码不规范,将业务代码放到控制层里面,就会出现这样的需求;

    当然,即使是代码规范,各层职责分明,也同样存在这种特殊需求:

    同样的功能,不同的请求,使用不同的请求入参和请求格式,虽然殊途同归,但是请求的表现形式不同。

    3.解决方案

    这里又分两种情况:

    情形一:两个请求在同一个java类当中;

    情形二:两个请求不在同一个java类当中。

    方案一:Http请求

    这里就需要在请求B中配置A的请求地址;

    请求地址的构成:请求协议://IP:端口号/项目/A请求路径

    前缀配置又可以分为两种方式:一种是直接在写死。

    另一种是动态取值

    最后,按照请求A的参数标准、格式,通过HTTP请求进行调用,并解析响应结果。

    方案二:调用请求对应的方法

    只要是同一项目(如果是模块化开发的话,只能是下级引用上级,上级无法访问下级),B请求都是可以直接调用A请求的请求入口(方法)。

    两个请求在同一类中

    如果A请求和B请求不在同一个java类,可以通过注入对象的方式,将A请求的java类注入到B请求所在类当中。

    写在最后

      哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

     相关推荐:

  • 相关阅读:
    pt-heartbeat(percona toolkit)
    pt-find使用
    pt-duplicate-key-checker使用
    Unity3D 之IAP
    Unity3D 之IAP
    JDK环境变量
    Android环境变量的设置(详细图解版)
    Android sdk 更新失败解决方发整理
    unity开发android游戏(一)搭建Unity安卓开发环境
    Unity使用 UnityVS+VS2013 调试脚本
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/15540300.html
Copyright © 2020-2023  润新知