Pregunta de primavera sobre la clase BeanFactoryUtils y la diferencia entre getbean y getbeans
// Encuentra todos los HandlerMappings en ApplicationContext,
// incluidos los contextos ancestrales.
Map matchBeans = BeanFactoryUtils.beanOfTypeIncludeAncestors(
contexto, HandlerMapping.class, true, false);
// Encuentra todos los HandlerMapping en ApplicationContext,
// incluido HandlerMapping.class false);
Mapa estático público beansOfTypeIncludeAncestors(ListableBeanFactory lbf, tipo de clase)
lanza BeansException {
Assert notNull(lbf, "ListableBeanFactory no debe ser nulo");
Resultado del mapa = new LinkedHashMap(4);
result.putAll(lbf.getBeansOfTypeIncludeAncestors)
Mapa estático público beansOfTypeIncludeAncestors(ListableBeanFactory lbf, tipo de clase)
lanza BeansException {
Assert.getBeansOfType(tipo) );
if (lbf instancia de HierarchicalBeanFactory) {
HierarchicalBeanFactory hbf = (HierarchicalBeanFactory ) lbf;
if (hbf.getParentBeanFactory() instancia de ListableBeanFactory) {
Mapa parentResult = beansOfTypeIncludeAncestors(
(ListableBeanFactory) hbf.getParentBeanFactory(), tipo );
for (Iterator it = parentResult.entrySet().iterator()); it.hasNext();){
Map.Entry entrada = (Map.Entry) it.next(
String beanName = (String) entrada.getKey();
if (!result.containsKey(beanName) & & amp; !hbf.containsLocalBean(beanName)) {
resultado.put(beanName, entrada.getValue());
}
}
}
devolver resultado;
}
Ver el código fuente en.