美文网首页
Spring 与 AOP(第一讲)

Spring 与 AOP(第一讲)

作者: 辽A丶孙悟空 | 来源:发表于2020-08-02 19:01 被阅读0次
    AOP 的引用
    • Step1:项目Spring_Aop_ Leadin1
      先定义好接口与一个实现类,该实现类中除了要实现接口中的方法外,还要再写两个非
      业务方法。非业务方法也称为交叉业务逻辑:
      ① doTransaction(): 用于事务处理。
      ② doLog(): 用于日志处理。
      然后,再使接口方法调用它们。接口方法也称为主业务逻辑。


    • Step2:项目Spring_Aop_ Leadin2
      此时提出一个问题:若有其它实现类同样也要调用这些事务、日志等处理方法怎么办?解决办法是,将这些日志、事务等方法包装到另外一个类中,让实现类继承这个类。




    • Step3:项目Spring_Aop_ Leadin3
      以上的解决方案,也有一个弊端:若实现类还需要继承其它类,就不行了。因为 Java 不技术多继承。
      当然,也可以有另-种解决方案:将这些交叉业务逻辑代码放到专门的工具类或处理类中,由主业务逻辑调用。




    • Step4:项目Spring_Aop_ Leadin4
      以上的解决方案,还是存在弊端:交叉业务与主业务深度耦合在一起。当交叉业务逻辑较多时,在主业务代码中会出现大量的交叉业务逻辑代码调用语句,大大影响了主业务逻辑的可读性,降低了代码的可维护性,同时也增加了开发难度。
      所以,可以采用动态代理方式。动态代理是 OCP 开发原则的一个重要体现:在不修改主业务逻辑的前提下,扩展和增强其功能。




    相关文章

      网友评论

          本文标题:Spring 与 AOP(第一讲)

          本文链接:https://www.haomeiwen.com/subject/vqekrktx.html