问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

spring已经实现了aop,为什么还要用aspectj

发布网友 发布时间:2022-04-23 14:39

我来回答

6个回答

热心网友 时间:2022-04-14 08:15

spring有自己的AOP实现与aspectj的实现不同比较麻烦,马士兵的教程所讲的是spring整合了aspectj的AOP马士兵没有将spring自己的aop,在视频的末尾他说一般情况用不到spring自己的AOP你可以仔细听听,spring在做声明式事物处理时就没有用aspectj嘛!springAOP是设计用于在应用服务器环境下实现AOP,切入点与方面均由普通Java对象实现,其中连接点模型与AspectJ相同,只是远不如AspectJ丰富。针对你的问题spring有两组AOP一组是spring本身的一组是整合AspectJ,就好比在国际上一个中国人说英语是因为大家都说英语(好比AspectJ),但中国人还有自己的语言中文(spring自己的AOP)

热心网友 时间:2022-04-14 09:33

根据我看spring官方文档的理解(不出意外是最正确的答案):

①选择spring的AOP还是AspectJ?

spring确实有自己的AOP。功能已经基本够用了,除非你的要在接口上动态代理或者方法拦截精确到getter和setter。这些都是写奇葩的需求,一般不使用。

②在使用AOP的时候,你是用xml还是注解的方式(@Aspect)?
1)如果使用xml方式,不需要任何额外的jar包。
2)如果使用@Aspect方式,你就可以在类上直接一个@Aspect就搞定,不用费事在xml里配了。但是这需要额外的jar包( aspectjweaver.jar)。因为spring直接使用AspectJ的注解功能,注意只是使用了它 的注解功能而已。并不是核心功能 !!!

注意到文档上还有一句很有意思的话:文档说到 是选择spring AOP还是使用full aspectJ?
什么是full aspectJ?如果你使用"full aspectJ"。就是说你可以实现基于接口的动态代理,等等强大的功能。而不仅仅是aspectj的 注-解-功-能 !!!

如果用full AspectJ。比如说Load-Time Weaving的方式 还 需要额外的jar包 spring-instrument.jar

当然,无论是使用spring aop还是 aspectj都需要aspectjweaver.jar spring-aop.jar这两个jar包。

热心网友 时间:2022-04-14 11:08

spring AOP就是用aspectj来实现的,是依赖关系!AspectJ是动态代理的一种实现!而spring默认使用的就是AspectJ来实现的动态代理,spring自己的AOP就是使用AspectJ来实现的!当然你也可以使用其他的实现,如cglib!追问是不是使用spring的aop的时候,都要引入aspectj,或者是你说的cglib

追答是的!你要使用spring的aop,要么引入aspectj,要么cglib!除非你不使用spring的aop!当然,你也可以只用spring的其他特性,例如控制反转!aop不是只有spring有!其他框架也有!你可以上网查查,不过spring的aop已经很好了!

热心网友 时间:2022-04-14 12:59

springaop的底层实现有两种,一种是jdk的动态代理,另一种是cglib,springaop没有用到aspectj,只是借鉴了它并添加了aspectj风格的注解,使用aspectj必须用到它自己特殊的编译器和运行环境的插件。

热心网友 时间:2022-04-14 15:07

说到AOP,估计最直接的应用就是事务管理吧。
1. Spring有自己的AOP实现,即使用TransactionProxyFactoryBean,然后使用XML进行配置。缺点是,只要你想用AOP的话,就得去配置,比较繁琐。

2. 而aspectj 则则是第三方的框架(库),使用上比较简单,也是通过XML的方式去配置,不同的是可以定义某些方法的开头开启事务,其他不开启事务。当然也可以通过注解的方式去做,这个最常用的就是做日志处理。
其实,我觉得Spring也可以去简化配置,只不过已经有了aspectj ,就直接使用即可。

热心网友 时间:2022-04-14 17:32

你好,我问你个问题,Spring的AOP是怎么实现的。你要是想明白了这点,就觉得你上面的问题就是答案的本身。
spring已经实现了aop,为什么还要用“aspectj”?

①选择spring的AOP还是AspectJ?spring确实有自己的AOP。功能已经基本够用了,除非你的要在接口上动态代理或者方法拦截精确到getter和setter。这些都是写奇葩的需求,一般不使用。②在使用AOP的时候,你是用xml还是注解的方式(@Aspect)?1)如果使用xml方式,不需要任何额外的jar包。2)如果使用@Aspect方式...

如何理解 Spring AOP 以及使用 AspectJ?

使用AspectJ实现AOP的方式有两种:XML声明和注解。XML配置虽然提供了详细的控制,但其复杂性较高,而注解方式则更加简洁直观,适用于日常开发。为了在Spring应用中使用AspectJ,需要在项目中引入AspectJ相关的库。通常,这可以通过配置Maven或其他构建工具实现。创建Spring配置文件(如app.xml),添加对AspectJ的...

spring已经实现了aop,为什么还要用aspectj

spring有自己的AOP实现与aspectj的实现不同比较麻烦,马士兵的教程所讲的是spring整合了aspectj的AOP马士兵没有将spring自己的aop,在视频的末尾他说一般情况用不到spring自己的AOP你可以仔细听听,spring在做声明式事物处理时就没有用aspectj嘛!springAOP是设计用于在应用服务器环境下实现AOP,切入点与方面...

AOP有三种植入切面的方法,分别是什么?

AOP有三种植入切面的方法:其一是编译期织入,这要求使用特殊的Java编译器,AspectJ是其中的代表者;其二是类装载期织入,而这要求使用特殊的类装载器,AspectJ和AspectWerkz是其中的代表者;其三为动态代理织入,在运行期为目标类添加增强生成子类的方式,Spring AOP采用动态代理织入切面。Spring AOP使用了两...

Spring AOP的一些概念

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

spring aop,aspectj aop的实现原理分别是什么,两种aop的框架都支持哪 ...

transaction-manager:指定到现有的PlatformTransactionManager bean的引用,通知会使用该引用。default="transactionManager"mode:指定Spring事务管理框架创建通知bean的方式。可用的值有proxy和aspectj。前者是默认值,表示通知对象是个JDK代理;后者表示Spring AOP会使用AspectJ创建代理。order:指定创建的切面的顺序...

aop切面编程?

AOP实现的关键在于AOP框架自动创建的AOP代理,AOP代理主要分为静态代理和动态代理,静态代理的代表为AspectJ。而动态代理则以Spring AOP为代表,静态代理是编译期实现,动态代理是运行期实现,可想而知前者拥有更好的性能。 静态代理是编译阶段生成AOP代理类,也就是说生成的字节码就织入了增强后的AOP对象;动态代理则不会修...

spring—AOP与事务

AOP像一台织布机,将目标类、增强或引介通过AOP这台织布机天衣无缝地编织到一起。根据不同的实现技术,AOP有三种织入的方式: a、编译期织入,这要求使用特殊的Java编译器。 b、类装载期织入,这要求使用特殊的类装载器。 c、动态代理织入,在运行期为目标类添加增强生成子类的方式。 Spring采用动态代理织入,而AspectJ...

spring配置中 <aop:aspectj-autoproxy/>的含义:具体问题请看内容!_百 ...

这是是使用spring的配置自动完成创建代理织入切面的工作。通过aop命名空间的<aop:aspectj-autoproxy />声明自动为spring容器中那些配置@aspectJ切面的bean创建代理,织入切面。默认为false,表示使用jdk动态代理织入增强,当配为<aop:aspectj-autoproxy poxy-target-class="true"/>时,表示使用CGLib动态代理...

使用AspectJ进行面向切面编程(AOP)

AOP的核心是分离应用逻辑与横切关注点。例如,若需在每个服务方法前后打印日志,传统方式下需要手动添加,而AOP通过定义切面,使用前置(@Before)和后置(@After)通知,自动实现这一任务。AspectJ提供了语言支持,使代码组织更清晰。要开始使用AspectJ,首先需要搭建开发环境。无论是Eclipse还是IntelliJ IDEA,...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
...感应强度方向垂直穿过前后板面.当金属块通以水平向左的 中国人自己开发的操作系统 当兵抽血体检前一天,多喝几瓶葡萄糖,明天是不是验血就验不起了? 双眼皮手术拆线后,用热水洗脸,为什么在眼角处会出现冲血现象?就是出现... 双眼皮浮肿晚上睡觉前用热水敷眼皮好还是冰水好? ...所以想备份系统,可又不知道怎么做,急求详细回答,谢 干黄,高血压,高血脂,痛风,请问能吃炖品吗 ...无翁日】 【执日】【周堂日】【不将日】 是什么意思? 侠盗猎车手哪个好玩 侠盗猎车手罪恶都市通关后有什么特别的事情可以做 aspectj中aspectjweaver作用 北笙网名适合什么情侣头像 游戏里的两个字的网名情侣的 北笙南鸢怎么念 笙歌的情侣网名 北笙南鸢什么意思?也不是成语! 南辙北笙对应的情侣网名 鹿橘北笙的情侣网名 南城北夏幻溪,北笙南梦墨溪这对情侣网名什么意思 罕见浪漫二字网名情侣 求两个字情侣网名,越多越好, 北笙 南慕是情侣网名吗?? 想一个北笙的情侣网名 北笙ゞ相对的情侣网名是什么 北笙的情侣网名 求描写风景的美文欣赏 进行兵役登记QQ邮箱IP受限,怎么办? 描写景色的文章500字——600字 描写风景的美文 西游记 9到16章节概括 spring添加aspectjweaver包后依旧报错 spring已经实现了aop,为什么还要用“aspectj”? spring-aspects和aspectjweaver.jar,aspectjrt.jar这两个包的关系 请问各位大师:下面这都是些什么类库?aopalliance.jar,aspectjrt.jar,aspectjweaver.jar, aspect的简单记法 新手spring AOP配置问题 spring aop 干什么用 org.aspectj.lang 哪个包 spring aop pointcut 哪个jar java程序 使test类位于com包中 spring 配置aop事务需要哪些java包 Eclipse项目里没有j2ee library这么办? 怎么用Java代码解析用丨隔开的TXT文件。 TXT文件中格式如下 123|456|789|987 java中丨丨表示什么意思 Java中的|是什么运算符,是做什么的,怎么用 java的‖怎么打 键盘上怎么打的 我是个java初学者,逻辑运算符 || 和 | 怎么输入?按哪个键?这两个是我复制的。 java "|"操作符什么意思例如:11|2什么结果,怎么运算的 JAVA里或的符号是怎么输入 java中的setLayout怎么用?
  • 焦点

最新推荐

猜你喜欢

热门推荐