Spring AOP Capabilities and Goal
Spring AOP是用纯的java实现的。不需要任何个性的实现过程。Spring AOP不需要控制类加载器,并且它适用于Servlet容器或者应用服务器。
Spring AOP当前只支持方法执行的连接点(通知Spring beans的方法执行)。字段的拦截没有实现,虽然支持字段的拦截,可以在不破坏核心Spring AOP API的情况下添加。如果你需要通知字段获取和根性连接点,可以考虑一种类似AspectJ的语言。
用Spring AOP的方式实现AOP不同于大多数其他的AOP框架。它的目标不是提供一种最完整的AOP实现(虽然Spring AOP已经非常的强大);它更倾向于在AOP实现和Spring IoC之间提供一种封闭的整合,从而帮补解决企业应用中的哪些通用的问题。
例如,Spring框架的AOP功能通常与Spring Ioc容器结合使用。Aspects使用通用的bean 定义的语法来配置(虽然它允许强大的自动代理的方式):与其他的AOP实现相比,这是一个很重要的不同点。有些事情如果你不使用Spring AOP,将很难或者不能高效的去做,例如通知细粒度的对象(如典型的业务对象):而在这种情况下AspectJ是最好的选择。然而,我们的经验是,Spring AOP为企业级Java应用中大多数问题提供了一个优秀的解决方案,这些问题在AOP中很容易控制。
Spring AOP从来没有为与AspectJ竞争提供一个综合的AOP而纠结。我们相信这样两种基于代理的框架如Spring AOP和成熟的AspectJ都是有存在价值的,并且他们是相互补充的,而不是相互竞争的关系。Spring 2.0将Spring AOP和IoC与AspectJ无缝整合,从而是AOP的全部使用在一系列的基于Spring的应用框架中适应能力更强。这个整合没有影响到Spring AOP的API或者AOP Alliance API:Spring AOP保持着向后兼容。
Spring框架的一个核心原则就是非侵入性;这就是说你不会被强制引入框架的个性类和接口到你自己的业务领域模型。然而在Spring框架的一些地方给了你引入Spring框架特性的依赖到你的代码中:给你这些东西的原因是,在一些特定的场景,以这种方式编码可能更加的可读性.Spring框架大多数情况下给你一些选择,这样你就可以自由的做一个合理的决定,用来适应一些特定的情况和场景。
你需要选择使用AspectJ还是Spring AOP或者二者都用,而且你也要选择使用@AspectJ注解方式或者Spring Xml配置风格的方式。
-----------------------------------
转自:https://blog.csdn.net/oFengFengFeng/article/details/52131460
Spring AOP Capabilities and Goal的更多相关文章
- Spring AOP Capabilities ang goals
Spring AOP 是用纯JAVA 实现的. 不需借助JAVA代码在编译处理阶段来实现. Spring 是在运行期实现的.AOP的实现可以在编译,加载,运行三个阶段来实现:Spring AOP 也不 ...
- Spring AOP capabilities and goals
Spring AOP 是用纯JAVA 实现的. 不需借助JAVA代码在编译处理阶段来实现. Spring 是在运行期实现的.AOP的实现可以在编译,加载,运行三个阶段来实现:Spring AOP 也不 ...
- spring AOP capbilities and goal
Spring AOP 是用纯JAVA 实现的. 不需借助JAVA代码在编译处理阶段来实现. Spring 是在运行期实现的.AOP的实现可以在编译,加载,运行三个阶段来实现:Spring AOP 也不 ...
- Spring AOP Capability and Goal
AOP Capability: 1.Spring声明式事务管理配置. 2.Controller层的参数校验. 3.使用Spring AOP实现MySQL数据库读写分离案例分析 4.在执行方法前,判断是 ...
- 比较 Spring AOP 与 AspectJ
本文翻译自博客Comparing Spring AOP and AspectJ(转载:https://juejin.im/post/5a695b3cf265da3e47449471) 介绍 如今有多个 ...
- 朱晔和你聊Spring系列S1E6:容易犯错的Spring AOP
阅读PDF版本 标题有点标题党了,这里说的容易犯错不是Spring AOP的错,是指使用的时候容易犯错.本文会以一些例子来展开讨论AOP的使用以及使用过程中容易出错的点. 几句话说清楚AOP 有关必要 ...
- 学习AOP之深入一点Spring Aop
上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...
- 学习AOP之认识一下Spring AOP
心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...
- spring aop
什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将 ...
随机推荐
- redis命令Set类型(七)
集合类型 集合类型:无序.不可重复 列表类型:有序.可重复 命令: 1>增加/删除元素 语法:SADD key member [member -] 127.0.0.1:6379> sadd ...
- 微信公众号服务器配置url二次修改
最近微信公众号配置的服务器的域名和云服务到期,就想着更换到别的域名下的服务器:修改的时候出现token验证失败: 我同样的微信签名验证代码在以前服务器上是没问题的,但是修改到新的域名地址时候,总是提醒 ...
- blueprint的使用
第一步:导入蓝图模块: from flask import Blueprint 第二步:创建蓝图对象: #Blueprint必须指定两个参数,admin表示蓝图的名称,__name__表示蓝图所在模块 ...
- redis数据库可视化工具(RedisDesktopManager)
RedisDesktopManager下载地址:https://redisdesktop.com/download 使用过程中可能会遇到的问题我在文后有所总结 我下载Windows版的: 我的redi ...
- python 9
一.常识 在制作统计表时,要创建一个listname_list,来存放列明,这样以后进行列明删减的更新时,比较方便. 二.函数的初识 代码遇到def就跳过,把函数内容放到内存中,遇到函数名再来执行函数 ...
- 三大前端框架(react、vue、angular2+)父子组件通信总结
公司业务需要,react.vue.angular都有接触[\无奈脸].虽然说可以拓展知识广度,但是在深度上很让人头疼.最近没事的时候回忆各框架父子组件通信,发现很模糊,于是乎稍微做了一下功课,记录于此 ...
- C语言-第3次作业得分
作业链接:https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359 作业链接:https://edu.cnblogs.com/campus ...
- zabbix监控Apache
zabbix 3.4.4监控apache 一.Apache开启状态页面 [root@oneapm-test scripts]# httpd -v Server version: Apache/2. ...
- 《XX重大技术需求征集系统》的可用性和可修改性战术分析
题目:阅读<大型网站技术架构:核心原理与案例分析>第五.六章,结合<某重大技术需求征集系统>,列举实例分析采用的可用性和可修改性战术,将上述内容撰写成一篇1500字左右的博客阐 ...
- 冰水挑战 HDU - 6495
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6495 题解:DP!!! dp[i][j] 表示前i个挑战,接受了j个剩余的最大体力,最后输出体力大于0 ...