<aop:scoped-proxy>的注解等效方式是什么?

45

我正在从XML配置转移到注释配置。我想将一个会话范围的Bean转换为

<aop:scoped-proxy>

使用注解可以完成这个任务吗?如果不行,我该怎么做才能保持那个声明仍然有效?

编辑: 我想在Spring 2.5中实现这个功能。

3个回答

92

在Spring 3.0中,可以通过@Scope注解的proxyMode属性指定:

@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES)

proxyMode不是Scope的字段。这是针对3.0版的吗? - mkoryak
1
@mkoryak,是的,在2.5版本中没有这个:http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/annotation/Scope.html,但在3.0版本中有:http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/Scope.html。 - Sean Patrick Floyd

8

在Spring上下文XML中,可以这样做:

<context:component-scan base-package="com.startup.failure" scoped-proxy="interfaces" />

注意,您需要为该包中的所有类编写接口。

4
在Spring 2.5.x中,如果我在spring-context.xml中做如下操作:
<context:component-scan base-package="com.startup.failure" scoped-proxy="TARGET_CLASS" />

所以这样我就不需要让我的代理bean实现接口了吗?(使用CGLIB而不是JDK标准)。 我没有测试过,但我认为它应该可以工作。 当然,您需要拥有cglib库,无论如何都需要使用<aop:scoped-proxy>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接