Spring - AoP

目录

1、概念

2、为什么需要面向切面?

3、具体怎么操作的?

4、理解参考


 

上篇文章分析了Spring IoC,这是设计用来管理Bean,就是管理Java面向对象的(OOP)。

在现实生活中,有些场景是面向对象没办法处理的。比如一个具有多个流程的事件,某个流程需要之前的流程满足一定的条件,如果不满足的话,就需要对其之前的流程进行回滚

 


1、概念

AoP(Aspect Oriented Programming),面向切面编程,将事物的流程抽象为切面,通过AoP去管理在切面上的某些对象之间的协作。

 


2、为什么需要面向切面?

前文也分析了,有些场景面向对象是没法解决的。具体实例可以参考《javaEE轻量级框架》。

 


3、具体怎么操作的?

AoP常用于数据库事务编程。在操作A之后,不知道下一步的操作B是否会成功,如果下一步B失败,就会使用数据库事务的回滚功能去回滚事务,使得操作A的更新作废,保持数据一致性。

怎么触发回滚?: 在SPringle的事务管理中只要收到异常信息,就会触发回滚事务。

Spring将回滚的数据库代码屏蔽,用户只需要关注业务代码就行了,不需要实现具体的回滚逻辑代码。

 


4、理解参考

  • 关于切面、连接点、切点、织入:

https://blog.csdn.net/q982151756/article/details/80513340?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159374503719195162550852%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159374503719195162550852&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v3-1-80513340.pc_ecpm_v3_pc_rank_v3&utm_term=AoP%E9%BB%A7%E9%BB%91

 

在AOP中切面就是与业务逻辑独立,但又垂直存在于业务逻辑的代码结构中的通用功能组合;切面与业务逻辑相交的点就是切点;连接点就是把业务逻辑离散化后的关键节点;切点属于连接点,是连接点的子集;Advice(增强)就是切面在切点上要执行的功能增加的具体操作;在切点上可以把要完成增强操作的目标对象(Target)连接到切面里,这个连接的方式就叫织入。

  • 关于逻辑

https://blog.csdn.net/qq_32317661/article/details/82878679?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值