百科狗-知识改变命运!
--

Spring AOP的一些概念

桃子1年前 (2023-12-20)阅读数 14#综合百科
文章标签通知接点

Spring AOP的一些概念

 切面(Aspect) 一个关注点的模块化 这个关注点可能会横切多个对象 事务管理是J EE应用中一个关于横切关注点的很好的例子 在Spring AOP中 切面可以使用通用类(基于模式的风格) 或者在普通类中以 @Aspect 注解(@AspectJ风格)来实现

 连接点(Joinpoint) 在程序执行过程中某个特定的点 比如某方法调用的时候或者处理异常的时候 在Spring AOP中 一个连接点 总是 代表一个方法的执行 通过声明一个 aspectj lang JoinPoint类型的参数可以使通知(Advice)的主体部分获得连接点信息

 通知(Advice) 在切面的某个特定的连接点(Joinpoint)上执行的动作 通知有各种类型 其中包括 around before 和 after 等通知 通知的类型将在后面部分进行讨论 许多AOP框架 包括Spring 都是以拦截器做通知模型 并维护一个以连接点为中心的拦截器链

 切入点(Pointcut) 匹配连接点(Joinpoint)的断言 通知和一个切入点表达式关联 并在满足这个切入点的连接点上运行(例如 当执行某个特定名称的方法时) 切入点表达式如何和连接点匹配是AOP的核心 Spring缺省使用AspectJ切入点语法

 引入(Introduction) (也被称为内部类型声明(inter type declaration)) 声明额外的方法或者某个类型的字段 Spring允许引入新的接口(以及一个对应的实现)到任何被代理的对象 例如 你可以使用一个引入来使bean实现 IsModified 接口 以便简化缓存机制

 目标对象(Target Object) 被一个或者多个切面(aspect)所通知(advise)的对象 也有人把它叫做 被通知(advised) 对象 既然Spring AOP是通过运行时代理实现的 这个对象永远是一个 被代理(proxied) 对象

 AOP代理(AOP Proxy) AOP框架创建的对象 用来实现切面契约(aspect contract)(包括通知方法执行等功能) 在Spring中 AOP代理可以是JDK动态代理或者CGLIB代理 注意 Spring 最新引入的基于模式(schema based)风格和@AspectJ注解风格的切面声明 对于使用这些风格的用户来说 代理的创建是透明的

 织入(Weaving) 把切面(aspect)连接到其它的应用程序类型或者对象上 并创建一个被通知(advised)的对象 这些可以在编译时(例如使用AspectJ编译器) 类加载时和运行时完成 Spring和其他纯Java AOP框架一样 在运行时完成织入

 通知的类型

 前置通知(Before advice) 在某连接点(join point)之前执行的通知 但这个通知不能阻止连接点前的执行(除非它抛出一个异常)

 返回后通知(After returning advice) 在某连接点(join point)正常完成后执行的通知 例如 一个方法没有抛出任何异常 正常返回

 抛出异常后通知(After throwing advice) 在方法抛出异常退出时执行的通知

 后通知(After (finally) advice) 当某连接点退出的时候执行的通知(不论是正常返回还是异常退出)

lishixinzhi/Article/program/Java/ky/201311/28064

struts是web层的框架,spring更多用在业务层,像权限管理,我觉得一次请求只需要做一次,放在web层就好了,不要放到spring来管理

我也不明白详细的区别,感觉filter、interceptor、listener、aop实现的东西都挺像的。aop用的是动态代理,其他的我感觉就是观察者模式吧。

静态高手来解答

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)