2011-10-06 86 views
0

有没有办法来禁用弹簧3.0的注释处理@InjectSpring 3.0禁用@Inject注释处理

我想与春天一起使用CDI @Conversation范围,但是当涉及到

@Inject 
private Conversation conversation; 

春天试图自动装配这显然失败了谈话。

+0

很想知道您在Spring中使用了哪种CDI实现? – rahulmohan

回答

0

我不认为你可以。但春天有自己的谈话支持 - 看看春季网站流量。

+1

我评估过春季网页流量,但它似乎略微超出了春季社区的范围。目前的里程碑计划自一年以来没有更新。 – flash

+2

这是因为计划单独的对话支持进入spring-mvc – Bozho

2

尝试混合使用Spring 3.x和CDI注解时遇到了类似的问题。

我发现了一种非Spring bean中禁用春@Inject处理;简单地创建@Named注解的类的排除过滤器:

@Configuration 
@ComponentScan(excludeFilters = {@Filter(Named.class)}) 
public class SpringConfig 
{ 
} 

或禁用默认筛选器是这样的:

@Configuration 
@ComponentScan(useDefaultFilters = false, includeFilters = {@Filter(Component.class)}) 
public class SpringConfig 
{ 
} 

这工作,因为弹簧组默认为包括过滤器javax.inject.Named激活JSR-330处理。