首页 > 试题广场 >

spring默认使用jdk动态代理,那么下面哪个配置是开启强

[单选题]
spring默认使用jdk动态代理,那么下面哪个配置是开启强制使用cglib代理
  • <aop:aspectj-autoproxy proxy-target-class="true"/>
  • <aop:scoped-proxy proxy-target-class="true" >
  • <aop:aspectj-autoproxy expose-proxy="true"/>
  • <aop:config proxy-target-class="false"/>
请问下选对的是怎么样选的?A选项都看不到。。。
发表于 2019-07-15 17:33:14 回复(4)
<aop:aspectj-autoproxy proxy-target-class="true"/>
我知道要选这个,但是A我看不到,笑爆我了
发表于 2019-07-25 04:03:39 回复(2)
  • <aop:aspectj-autoproxy/>自动为配置了@AspectJ的 Bean 创建***。
  • <aop:scoped-proxy>用于 Bean 之间的生命周期。
  • <aop:config>用于完成 AOP 相关配置。
  • proxy-target-class="false"表示使用 JDK 动态***织入。
  • proxy-target-class="true"表示使用 CGLIB ***织入。
编辑于 2019-12-31 11:56:56 回复(0)
proxy-target-class=true 是指生成目标的子类
发表于 2020-02-17 20:20:55 回复(0)
Spring2.0:

Spring AOP部分使用JDK动态***或者CGLIB来为目标对象创建***。(建议尽量使用JDK的动态***)

如果被***的目标对象实现了至少一个接口,则会使用JDK动态***。所有该目标类型实现的接口都将被***。若该目标对象没有实现任何接口,则创建一个CGLIB***。

如果你希望强制使用CGLIB***,(例如:希望***目标对象的所有方法,而不只是实现自接口的方法)那也可以。但是需要考虑以下问题:

无法通知(advise)Final 方法,因为他们不能被覆写。 
你需要将CGLIB 2二进制发行包放在classpath下面,与之相较JDK本身就提供了动态*** 
强制使用CGLIB***需要将 |aop:config| 的 proxy-target-class 属性设为true:

|aop:config proxy-target-class="true"|
...
|/aop:config|

当需要使用CGLIB***和@AspectJ自动***支持,请按照如下的方式设置 |aop:aspectj-autoproxy| 的 proxy-target-class 属性:

|aop:aspectj-autoproxy proxy-target-class="true"/|

发表于 2019-05-25 15:46:32 回复(0)

java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。

而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。

1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 
2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP 

3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换

如何强制使用CGLIB实现AOP?
 (1)添加CGLIB库,SPRING_HOME/cglib/*.jar
 (2)在spring配置文件中加入<aop:aspectj-autoproxy proxy-target-class="true"/>
发表于 2020-06-08 17:36:48 回复(0)
B
编辑于 2021-09-27 13:05:12 回复(0)
Spring 框架中同时使用了两种动态代理 JDK Proxy 和 CGLib,当 Bean 实现了接口时,Spring 就会使用 JDK Proxy,在没有实现接口时就会使用 CGLib,我们也可以在配置中指定强制使用 CGLib,只需要在 Spring 配置中添加 即可。
发表于 2021-03-05 12:38:06 回复(0)
1、当bean实现接口时,会用JDK代理模式
2、当bean没有实现接口,用cglib实现
3、可以强制使用cglib(在spring配置中加入<aop:aspectj-autoproxy proxyt-target-class=”true”/>)
发表于 2020-12-09 17:59:38 回复(0)
<p>A </p>
发表于 2020-09-07 00:57:15 回复(0)
<p>没什么思路,就是选A</p><p><br></p>
发表于 2020-07-25 08:35:47 回复(0)
D <aop:config proxy-target-class="false"/>
发表于 2020-05-27 22:55:40 回复(0)
<p>A</p>
发表于 2020-05-20 00:18:27 回复(0)
B
发表于 2020-03-29 13:18:23 回复(0)

B


发表于 2019-10-17 12:49:49 回复(0)

A


发表于 2019-09-24 08:39:05 回复(0)
这是哪个神仙出的题,选项都看不见,我也是服了
发表于 2019-09-18 19:49:02 回复(0)
神奇
发表于 2019-09-17 16:15:35 回复(0)
这是什么鬼,A选项看都看不到
发表于 2019-09-13 23:25:01 回复(0)
훤头像
看不到选项是因为浏览器把标签当作html标签了🤣🤣🤣🤣🤣
编辑于 2019-09-04 19:28:53 回复(0)