1、现象
在一个处理链中,有多个AbstractHandler,一个是管理处理链的集合CompositeHandler。Handler1,Handler2, CompositeHandler是AbstractHandler的实现类。其中CompositeHandler实现为
@Component
@Slf4j
public class CompositeHandler extends AbstractHandler {
@Autowired
private List<AbstractHandler> handlers;
@Override
public int handlerOrder() {
// TODO Auto-generated method stub
return 0;
}
@PostConstruct
public void init() {
log.info("handlers:{}", handlers);
}
日志输出handlers只有2个,分别是Handler1, Handler2。为什么会是这种现象呢?
2、分析
DefaultListableBeanFactory在解析依赖List时,获取满足指定类型的候选beanNames,会过滤与当前beanName相等的。



422

被折叠的 条评论
为什么被折叠?



