Spring AOP的基础知识

面向切面编程:Aspect-Oriented Programming,又称为AOP

AOP常用的一些有:AspectJ6、JBossAOP、SpringAop,他们都是著名的AOP技术框架和实现。

OOP(Object-Oriented Programming,又称面向对象编程)。OOP更多的关注系统的垂直切面关注的问题,而对系统的横切面关注很少,或者说很难关注。

比如:日志、安全性、事务管理等

AOP语序开发者动态修改OOP定义的静态模型,不用修改原始的面向对象模型,设置可以不用修改代码本身,即可以解决横切面问题。

Spring2.X的AOP是基于动态代理实现的。通过将Aspect6中易用、功能强大的pointcut表达语言引入其中,Spring的AOP使用、配置更为简单,且功能更加强大。

Spring AOP术语:

连接点(join point)。它指应用(目标对象)执行的某个点。比如执行到某个方法、访问到某个变量、某异常的抛出等。Spring AOP仅支持方法级的连接点。

也就是说,只有在方法执行时才能加AOP。

切入点(pointcut)。它能够声明、集结连接点。开发者借助pointcut表达式语言能够完成pointcut的指定工作。决定目标的哪些方法需要通知,通常就是一个表达式。

装备(advice)。切面在特定连接点所采取的动作,这些特定的连接点是由pointcut选定的。目前主要有5种装备:Before、AfterReturning、AfterThrowing、After、Around。

引入(introduction),也称为inter-type声明(AspectJ6)。引入能够往Java类、接口或切面新增接口、方法、成员变量。不改变一个现有类代码的情况下,为该类添加属性和方法

目标对象(target object)。指由若干切面装备的对象。常常将目标对象称为被装备对象(adviced object)。被通知的对象。(需要加入额外代码的对象)

织入(weaving)。将切面、目标对象连接在一起的过程称为织入,也就是将切面应用到目标对象中。Sring AOP 支持运行期织入。把切面加入程序代码的过程。

切面(aspect)。同OOP的对象概念一样,切面在AOP中占据了重要的位置,它将pointcut、装备、引入、目标对象等信息集结在一起,从而定义出相应的织入规则,这样一个整体称为切面。比如:AspectJ6和Spring AOP支持@AspectJ风格的切面对应。而Spring AOP 还支持基于<aop:config/>元素的POJO切面定义,和其他类型的切面定义。通知和切入点的组合。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值