当前位置:网站首页>Autowired注解用于List时的现象解析

Autowired注解用于List时的现象解析

2022-07-06 23:17:00 kgduu

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相等的。

原网站

版权声明
本文为[kgduu]所创,转载请带上原文链接,感谢
https://blog.csdn.net/wuli2496/article/details/125628922