我不知道我是否正确处理问题。所以,帮助我。我有一个遗留项目,我正在尝试迁移到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,迫使我创建一些虚拟验证器。我不想创建那些虚拟验证器。有没有办法避免异常?