Spring 之 aop概念

aop说明

   aop 提供另外一种程序结构,是oop的一种补充。oop的核心单元是类,而 aop 的核心是切面。切面使得我们关注的模块,比如事务管理,能够径直穿过很多种类和对象。我们关心的这些问题通常被称作需要横切的问题。

    aop 是spring 的一个关键组件,但是ioc 并不依赖aop ,所以,如果你不想用aop,就可以不用。aop是对sping 的 ioc进行了补充,从而使spring 成为了一个非常强大的中间解决方案。

    aop在 spring 框架中这样使用:

    1 提供声明性的企业级服务,特别的,它可以替代 ejb 的企业级服务。最重要的服务,比如事务管理。

     2 允许用户自定义切面,从而对oop进行补充。

aop 概念

首先我们介绍几个aop的核心概念和技术用语。这些技术用语不是spring特有的。

切面(aspect):一个涉及很多类的。。。。在企业java应用中,事务管理就是一个比较好的横切例子。在spring 的aop里面,切面被实现为一个普通的类,这个类会在xml里面进行配置,或者被实现为一个被@Aspect注解的普通类。

连接点(join point):程序里面执行的一个点。比如一个方法的执行,或者去处理一个异常。在spirng aop里面,往往是指一个方法的执行。

建议(Advice):切面针对某个连接点发生的动作。不同的建议包括 around,before ,after. 很多aop 的框架,包括spirng,把一个建议组织成一个拦截器,并且在连接点周围维护了一系列的拦截器。

切入点(Pointcut):对连接的描述。建议和切入点是关联在一起的,所有和这个切入点匹配的连接点执行时(比较,某个有名字的方法的运行),建议也会运行。连接点和切入点表达式匹配的概念是aop的核心,spring 默认使用 AspectJ 切入点表达式。

介绍:声明额外的方法或者字段。Spring AOP 允许你介绍新的接口给被建议的对象。比如:你可以使用介绍来创建一个实现IsModified 接口的对象,来简化缓冲。(在Aspectj 社区,一个介绍也被认为是一个内部类型声明)

目标对象:一个被切面建议的对象。也被叫做 被建议的对象。因为Spring AOP 是使用运行时代理的,所以这个对象总是一个被代理的对象。

AOP代理:AOP 框架创建的一个对象,用来实现切面的内容。在sping 框架中,一个AOP代理是一个JDK动态代理,或者是一个

CGLIB代理。

织入:把切面和其他应用程序类型或者对象连接起来,从而创建一个被建议的对象的过程。这个过程看样子在编译的时候(使用AspectJ 编译器),加载,或者运行的时候。Spring Aop,和其他的纯java AOP 框架一样,在运行的时候进行织入。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值