有没有办法禁用spring 3.0的@Inject
注解处理?
我正在尝试将 CDI @Conversation
范围与 spring 一起使用,但是当涉及到
@Inject
private Conversation conversation;
spring 尝试自动连接明显失败的对话。
最佳答案
在尝试混合 Spring 3.x 和 CDI 注释时,我遇到了类似的问题。
我找到了一种在非 Spring bean 中禁用 Spring @Inject
处理的方法;只需为用 @Named
注释的类创建一个排除过滤器:
@Configuration
@ComponentScan(excludeFilters = {@Filter(Named.class)})
public class SpringConfig
{
}
或禁用默认过滤器,例如:
@Configuration
@ComponentScan(useDefaultFilters = false, includeFilters = {@Filter(Component.class)})
public class SpringConfig
{
}
这是有效的,因为 Spring 默认设置了一个包含过滤器 javax.inject.Named
来激活 JSR-330 处理。
关于java - Spring 3.0 禁用@Inject注解处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7673856/