当我不需要Bean实例时,如何避免NoSuchBeanDefinitionException?

时间:2017-01-20 20:49:01

标签: java spring validation spring-mvc dependency-injection

我不知道我是否正确处理问题。所以,帮助我。我有一个遗留项目,我正在尝试迁移到Spring。我无法解决很多问题。其中之一是我有一些在不同的上下文中调用的验证器,它们被注入。类似的东西:

public interface PreValidator<E extends MyAbstractEntity> {}
public interface PosValidator<E extends MyAbstractEntity> {}

在另一个bean中,我有一个这些验证器的列表。像这样:

public class OneEntityService extends MyAbstractService<OneEntity> {
    @Autowired
    public OneEntityService(List<PreValidator<OneEntity>> preValidators, 
                            List<PosValidator<OneEntity>> posValidators) { ... }
}

这很完美,因为Spring会在构造函数中注入所有validadors的列表。但在某些情况下,我不想创建那些验证器。 MyAbstractService应用那些验证器,但我可以控制它是否为null。这不是问题。

问题是,当Spring尝试创建那些bean时,会抛出NoSuchBeanDefinitionException,迫使我创建一些虚拟验证器。我不想创建那些虚拟验证器。有没有办法避免异常?

0 个答案:

没有答案