Spring面向切片编程AOP概念及相关术语(一)
作者:mmseoamin日期:2024-03-20

Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第1张


个人名片:

Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第2张


🐼作者简介:一名大三在校生,喜欢AI编程🎋

🐻‍❄️个人主页🥇:落798.

🐼个人WeChat:hmmwx53

🕊️系列专栏:🖼️

  • 零基础学Java——小白入门必备🔥
  • 重识C语言——复习回顾🔥
  • 计算机网络体系———深度详讲
  • HCIP数通工程师-刷题与实战🔥🔥🔥
  • 微信小程序开发——实战开发🔥
  • HarmonyOS 4.0 应用开发实战——实战开发🔥🔥🔥
  • Redis快速入门到精通——实战开发🔥🔥🔥
  • RabbitMQ快速入门🔥

    🐓每日一句:🍭我很忙,但我要忙的有意义!

    欢迎评论 💬点赞👍🏻 收藏 📂加关注+



文章目录

      • AOP概念及相关术语
        • 1、概述
        • 2、相关术语
          • ①横切关注点
          • ②通知(增强)
          • ③切面
          • ④目标
          • ⑤代理
          • ⑥连接点
          • ⑦切入点
          • 3、作用
          • 写在后面🔥🔥🔥:
          • 欢迎添加微信,加入我的核心小队,请备注来意

            Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第3张

            AOP概念及相关术语

            1、概述

            AOP(Aspect Oriented Programming)是一种设计思想,是软件设计领域中的面向切面编程,它是面向对象编程的一种补充和完善,它以通过预编译方式和运行期动态代理方式实现,在不修改源代码的情况下,给程序动态统一添加额外功能的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

            2、相关术语
            ①横切关注点

            分散在每个各个模块中解决同一样的问题,如用户验证、日志管理、事务处理、数据缓存都属于横切关注点。

            从每个方法中抽取出来的同一类非核心业务。在同一个项目中,我们可以使用多个横切关注点对相关方法进行多个不同方面的增强。

            这个概念不是语法层面的,而是根据附加功能的逻辑上的需要:有十个附加功能,就有十个横切关注点。

            Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第4张

            ②通知(增强)

            增强,通俗说,就是你想要增强的功能,比如 安全,事务,日志等。

            每一个横切关注点上要做的事情都需要写一个方法来实现,这样的方法就叫通知方法。

            • 前置通知:在被代理的目标方法前执行
            • 返回通知:在被代理的目标方法成功结束后执行(寿终正寝)
            • 异常通知:在被代理的目标方法异常结束后执行(死于非命)
            • 后置通知:在被代理的目标方法最终结束后执行(盖棺定论)
            • 环绕通知:使用try…catch…finally结构围绕整个被代理的目标方法,包括上面四种通知对应的所有位置

              Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第5张

              ③切面

              封装通知方法的类。

              Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第6张

              ④目标

              被代理的目标对象。

              ⑤代理

              向目标对象应用通知之后创建的代理对象。

              ⑥连接点

              这也是一个纯逻辑概念,不是语法定义的。

              把方法排成一排,每一个横切位置看成x轴方向,把方法从上到下执行的顺序看成y轴,x轴和y轴的交叉点就是连接点。通俗说,就是spring允许你使用通知的地方

              Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第7张

              ⑦切入点

              定位连接点的方式。

              每个类的方法中都包含多个连接点,所以连接点是类中客观存在的事物(从逻辑上来说)。

              如果把连接点看作数据库中的记录,那么切入点就是查询记录的 SQL 语句。

              Spring 的 AOP 技术可以通过切入点定位到特定的连接点。通俗说,要实际去增强的方法

              切点通过 org.springframework.aop.Pointcut 接口进行描述,它使用类和方法作为连接点的查询条件。

              3、作用
              • 简化代码:把方法中固定位置的重复的代码抽取出来,让被抽取的方法更专注于自己的核心功能,提高内聚性。

              • 代码增强:把特定的功能封装到切面类中,看哪里有需要,就往上套,被套用了切面逻辑的方法就被切面给增强了。


                写在后面🔥🔥🔥:

                林纳斯·托瓦兹(Linus Torvalds)说:“我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。”

                《spring技术内幕:深入解析spring架构与计原理(第2版)》是国内一本系统分析spring源代码的经典著作,也是spring领域的问鼎之作,由业界拥有10余年开发经验的资深java专家亲自执笔,java开发者社区和spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,结合spring的最新版本对过时的内容进行了更新,并增加了大量新内容,使本书更趋近于完美。

                本专栏是自己深入学习并结合Spring技术内幕一经典图书内容做出的的心得与总结,将其精简编写成一篇专栏供大家学习,希望对新学习Spring框架技术的小伙伴有所帮助。

                图书推荐:

                Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第8张


                Spring面向切片编程AOP概念及相关术语(一),在这里插入图片描述,第9张

                欢迎添加微信,加入我的核心小队,请备注来意

                👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇