spring bean自动装配
Posted soft.push("zzq")
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring bean自动装配相关的知识,希望对你有一定的参考价值。
说到spring自动装配的bean大伙都比较了解,@Autowired不就完了么。哈哈,今天我在review的时候发现了这个问题,小伙伴看下代码:
@Bean public List<PlatformCheck> platformCheckList() { Map<String, PlatformCheck> result = applicationContext.getBeansOfType(PlatformCheck.class); List<PlatformCheck> list = new ArrayList<>(result.values()); list.sort(Comparator.comparingInt(PlatformCheck::getOrder)); for (int i = 0; i < list.size(); i++) { PlatformCheck platformCheck = list.get(i); log.info("PlatformCheck类:{} 已经加载, order:{}", platformCheck.getClass().getName(), platformCheck.getOrder()); } return list; }
上面代码配置一个bean
@Component public class AuthenticationHandler { private final Logger log = LoggerFactory.getLogger(AuthenticationHandler.class); @Autowiredpublic List<PlatformCheck> platformCheckList; public List<Function<ContextBridge, Boolean>> loginContextInitialization; @Autowired public LoginContextCollection loginContextCollection;
上面的代码将配置的bean自动注入进来。上面的程序会正确运行么?
突然看上去其实就有些心里疑问的,List<PlatformCheck>一定会被注册进来;但是注册究竟是不是上面配置的名为platformCheckList这个bean呢。
以上是关于spring bean自动装配的主要内容,如果未能解决你的问题,请参考以下文章