Spring Bean工厂继承关系和源码分析
来源:互联网 发布:淘宝运营助手找不到 编辑:程序博客网 时间:2024/05/22 06:09
Bean工厂继承关系图
最上层的接口BeanFactory
package org.springframework.beans.factory;import org.springframework.beans.BeansException;import org.springframework.core.ResolvableType;public interface BeanFactory { String FACTORY_BEAN_PREFIX = "&"; Object getBean(String name) throws BeansException; <T> T getBean(String name, Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType) throws BeansException; Object getBean(String name, Object... args) throws BeansException; <T> T getBean(Class<T> requiredType, Object... args) throws BeansException; boolean containsBean(String name); boolean isPrototype(String name) throws NoSuchBeanDefinitionException; boolean isTypeMatch(String name, ResolvableType typeToMatch) throws NoSuchBeanDefinitionException; boolean isTypeMatch(String name, Class<?> typeToMatch) throws NoSuchBeanDefinitionException; Class<?> getType(String name) throws NoSuchBeanDefinitionException; String[] getAliases(String name);}
该接口定义了获取获取Bean的方法。判断是否存在某个Bean。
ListableBeanFactory为可列表的BeanFactory,可以枚举所有的Bean而不是一个一个获取Bean通过Bean name。
public interface ListableBeanFactory extends BeanFactory { boolean containsBeanDefinition(String beanName); int getBeanDefinitionCount(); String[] getBeanDefinitionNames(); String[] getBeanNamesForType(ResolvableType type); String[] getBeanNamesForType(Class<?> type); String[] getBeanNamesForType(Class<?> type, boolean includeNonSingletons, boolean allowEagerInit); <T> Map<String, T> getBeansOfType(Class<T> type) throws BeansException; <T> Map<String, T> getBeansOfType(Class<T> type, boolean includeNonSingletons, boolean allowEagerInit) throws BeansException; String[] getBeanNamesForAnnotation(Class<? extends Annotation> annotationType); Map<String, Object> getBeansWithAnnotation(Class<? extends Annotation> annotationType) throws BeansException; <A extends Annotation> A findAnnotationOnBean(String beanName, Class<A> annotationType) throws NoSuchBeanDefinitionException;}
通过上面的方法就能获取到Bean工厂中的Bean
HierarchicalBeanFactory 接口定义了工厂的分层,同样继承了BeanFactory。
BeanFactory getParentBeanFactory(); //获取父工厂boolean containsLocalBean(String name);//根据Bean name判断本地工厂是否存 //在Bean
0 0
- Spring Bean工厂继承关系和源码分析
- 008. Spring Bean继承关系
- Spring Bean组件实现和源码分析
- Spring-4 bean之间的关系----继承和依赖
- Spring配置--Bean之间的关系(继承和依赖)
- Spring源码分析4 — spring bean创建和初始化
- Spring源码分析3 — spring bean创建和初始化
- spring bean工厂和bean的id
- spring bean之间的关系:继承;依赖
- spring- bean之间的关系 继承 依赖
- spring 注解源码分析-扫描和读取bean定义
- spring的bean的继承和java bean的继承
- Spring 中 bean 之间的关系:parent(继承) 和 depends-on (依赖)作用是什么?
- 继承关系 在spring的bean注入中的使用
- Spring 框架Bean之间的关系(继承、依赖)
- spring bean装配 注册动态工厂和静态工厂
- spring-bean的依赖和继承
- Spring源码分析-2-创建Bean
- AndroidStudio中使用plantUML
- python IOError: cannot identify image file
- hpuoj 1718: 感恩节KK专场——KK和女票一起遛狗 (水题)
- 【转】获取URL中的 参数
- 人类的行为与程序计算
- Spring Bean工厂继承关系和源码分析
- ASCII学习对照表
- hdoj5563Clarke and five-pointed star【判断五角星】
- centos下mysql主从搭建总结
- 首次适应算法和最佳适应算法和循环首次适应算法和最坏适应算法
- react 入门知识
- iOS笔记19
- 走过电竞之路的程序员
- 关于调整互联网、电话订票起售时间的公告