spring之用最简单的方式去理解Aop概念

java面试题网站:www.javaoffers.com

在学习spring的AOP时候,概念性太多,不能落实,时间 一长那些感念性的东西就会忘记,有的时候还会搞不清楚,这一次本人在复习AOP的时候,就系统的来说一下Aop中的概念,并用最通俗最接近我们项目开发的语言和最简单的demo原理来表达Aop中的概念,主要做到用最简单的方法去理解Aop概念。

aop:技术上主要就是利用代理模式。spring支持jdk和cglib这两种代理技术。

aop: 设计到的概念:

          #核心关注点: 就是我们在开发中所开发的纯业务代码。

          #横切关注点: 就是我们在开发中所开发的非代码,比如:日志,事务,异常等等(实际项目中的公共方法,提取到某一类或某多个类中,这些公共方法统称为横切关注点)。

           #连接点       :  业务中的每一个方法可以看做连接点(实际上任何一个方法(非业务性的也可以)都可以看作连接点,但是在实际项目中我们通常把业务的每一个方法看做连接点)

          #切点          : “切点”属于一种定义性的,来描述多个连接点的一种定义,类似 于正则表达式原理。

          #通知           : “通知”属于一种定义性的,用来描述横切关注点(公共方法提取)中的某一方法的使用策略,    一个方法可以被多个通知策略使用,通知策略包括:after,before,around,after throwing,after turning。

          #切面             : "切面"属于一种定义性的 ,用于描述切点(一个或多个连接点)通知(一个或多个 公共方法使用策略)的组合信息。

           #引入       :    “引入”属于一种定义性的,用于描述引入某一“增强实例类”中的功能(本质:创建代理对象时引入了增强实例类”所实现的所有接口,这样创建的代理类就可以调用增强实例类”中的功能了,下图中有原理代码演示)。 

            #织入      :    “织入” 就是根据我们定义好的(切面和引入)创建代理对象,这里分三种情况创建代理对象:1只有切面,2只有引入,3切面和引入的组合,这三种情况并只会使用其中的一种情况去创建代理对象

看完 上面的定义如果还是不太了解请看下面的最简单原理AOP图:

            

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值