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,面向方面编程),它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将 ...
随机推荐
- vue+koa实现简单的图书小程序(3)
实现一个今年过了多少天的组件的记录我们使用了原生的微信小程序开发文档里的组件 “Progress” 并不需要自己去写: https://developers.weixin.qq.com/minipro ...
- silverlight中 设置 头像(添加图片)
参考文章: http://www.cnblogs.com/wsdj-ITtech/archive/2009/08/26/1554056.html 1. ChainManager.xaml 前台 < ...
- 09_java基础——this
多次调用同一个对象的某个方法: package com.huawei.test.java04; /** * This is Description * * @author 王明飞 * @date 20 ...
- SpringBoot的启动流程分析(1)
通过分析我们可以找到 org.springframework.boot.SpringApplication 中如下, public static ConfigurableApplicationCont ...
- PHP实现RabbitMQ消息队列(转)
本篇文章给大家带来的内容是关于PHP和RabbitMQ实现消息队列的完整代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 先安装PHP对应的RabbitMQ,这里用的是 php_a ...
- docker中的oracle-11g-安装配置
docker镜像:wnameless/oracle-xe-11g 启动镜像的命令: docker run -d -v /data/oracle_data:/data/oracle_data -p 11 ...
- rsa公钥和私钥的生成
在liunx环境中 openssl 然后生成私钥: genrsa -out app_private_key.pem 2048 # 私钥的生成 在利用私钥生成公钥: rsa -in app_privat ...
- go接口
// 接口例子package main import "fmt" type Human struct { Name string Age int Sex string Phone ...
- 基于webpack的react开发环境搭建新手教程
最近学习react-webpack项目搭建,找到一篇我认为不错的博客,跟着学习了一番,写得很详细很好,本篇博客纯属记录总结,要看更详细的搭建过程及解析,请戳: 基于webpack的React项目搭建( ...
- Euclid's Game
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Submission(s ...