亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

麻煩說一下方法參數的意思,以及返回的map中儲存的是什么!謝謝!

麻煩說一下方法參數的意思,以及返回的map中儲存的是什么!謝謝!

慕容708150 2023-03-12 20:16:28
BeanFactoryUtils這個類中的方法public static Map beansOfTypeIncludingAncestors(ListableBeanFactory lbf,Class type, boolean includeNonSingletons, boolean allowEagerInit) throwsBeansException
查看完整描述

1 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

spring 容器會在啟動的時候為DispatcherServlet初始化handlerMapping.
// Find all HandlerMappings in the ApplicationContext,
// including ancestor contexts.
Map matchingBeans = BeanFactoryUtils.beansOfTypeIncludingAncestors(
context, HandlerMapping.class, true, false);
即找到在context里聲明的,所有HandlerMapping和其子類的bean. 可以有多個,這些handlerMapping里有順序聲明,可以根據它來排序。

public static Map beansOfTypeIncludingAncestors(ListableBeanFactory lbf, Class type)
throws BeansException {

Assert.notNull(lbf, "ListableBeanFactory must not be null");
Map result = new LinkedHashMap(4);
result.putAll(lbf.getBeansOfType(type));
if (lbf instanceof HierarchicalBeanFactory) {
HierarchicalBeanFactory hbf = (HierarchicalBeanFactory) lbf;
if (hbf.getParentBeanFactory() instanceof ListableBeanFactory) {
Map parentResult = beansOfTypeIncludingAncestors(
(ListableBeanFactory) hbf.getParentBeanFactory(), type);
for (Iterator it = parentResult.entrySet().iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry) it.next();
String beanName = (String) entry.getKey();
if (!result.containsKey(beanName) && !hbf.containsLocalBean(beanName)) {
result.put(beanName, entry.getValue());
}
}
}
}
return result;
}
參考當中的源碼


 


查看完整回答
反對 回復 2023-03-15
  • 1 回答
  • 0 關注
  • 80 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號