spring核心类之DefaultListableBeanFactory

XmlBeanFactory extends DefaultListableBeanFactory
XmlBeanFactory 方法已过期。
spring3.1之后已经废弃这个类
替代方式:DefaultListableBeanFactory+XmlBeanDefinitionReader 方式


DefaultListableBeanFactory是整个bean加载的核心,是spring注册及加载bean的默认实现


public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory
implements ConfigurableListableBeanFactory, BeanDefinitionRegistry, Serializable {}


DefaultListableBeanFactory层次结构图:



AliasRegistry:  定义了对Alias简单的增删改操作。


SimpleAliasRegitry:  /** Map from alias to canonical name */
                         private final Map<String, String> aliasMap = new ConcurrentHashMap<>(16);

                         使用了Map作为Alias的缓存,并实现AliasRegistry接口。


SingletonBeanRegistry:  定义对单例的注册获取。


BeanFactory:  获取bean以及bean的isSingleton,isPrototype,isTypeMatch等属性。


DefaultSingletonBeanRegistry:  对SingletonBeanRegistry的实现。


HierarchicalBeanFactory:  继承BeanFactory,在此基础增加了对ParentBeanFactroy的支持,多出BeanFactory getParentBeanFactory();和 boolean containsLocalBean(String name);方法。


BeanDefinitionRegistry:  继承AliasRegitry,定义了对BeanDefinitionRegistry的基本操作。


FactoryBeanRegistrySupport : 继承DefaultSingletonBeanRegistry,并在此基础上增加对FactoryBean的一些操作。


ConfigurableBeanFactory:提供配置Factory的各种方法。


ListableBeanFactory:  获取Bean的配置清单。


AbstractBeanFactory:  综合FactoryBeanRegitrySupport 和 ConfigurableBeanFactory 的功能。


AutowireCapableBeanFactory:  提供创建bean,自动注入,初始化以及应用bean的后处理器。


AbstractAutowireCapableBeanFactory:结合AbstractBeanFactory 和 接口 AutowireCapableBeanFactory。


ConfigurableListableBeanFactory :  BeanFactory配置清单,指定忽略类型及接口等。


DefaultListableBeanFactory:  综合上述所有功能,主要是对bean注册后的处理。



第一次画类图,有点丑。。。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring-beans模块是Spring框架中最基础的模块之一,提供了BeanFactoryFactoryBean等Bean管理相关的。在Spring中,Bean指的是被Spring IoC容器管理的对象,而BeanFactory则是管理Bean的工厂,是Spring IoC容器的核心组件之一。 Spring-beans模块的主要功能如下: 1. BeanFactoryBeanFactorySpring IoC容器的核心接口,提供了获取Bean、注册Bean和销毁Bean等方法。BeanFactorySpring IoC容器的基础,包括DefaultListableBeanFactory、XmlBeanFactory等实现。 2. FactoryBean:FactoryBean是一种特殊的Bean,可以通过实现FactoryBean接口来自定义Bean的创建过程。FactoryBean的作用是在Bean的实例化过程中添加一些逻辑,例如对Bean进行缓存、延迟初始化等操作。 3. BeanPostProcessor:BeanPostProcessor是Spring IoC容器提供的扩展点,可以在Bean的初始化过程中添加一些自定义的逻辑。BeanPostProcessor提供了两个方法:postProcessBeforeInitialization和postProcessAfterInitialization,分别在Bean的初始化前后执行。 4. BeanDefinition:BeanDefinition是Spring IoC容器中定义Bean的元数据,包括Bean的型、属性、依赖关系等信息。BeanDefinition是Spring IoC容器管理Bean的基础,可以通过BeanDefinition来实现Bean的配置、管理和装配。 除了以上功能,Spring-beans模块还提供了很多其他的和接口,如BeanWrapper、BeanNameAware、InitializingBean和DisposableBean等,用于实现Bean的属性注入、生命周期管理和销毁等操作。 总之,Spring-beans模块是Spring框架中最基础的模块之一,提供了Bean管理相关的和接口,是Spring IoC容器的核心组件之一,使用Spring框架时必须引入该模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值