spring的Bean概述

2025-05-22 15:55:26

1、Spring IoC容器管理一个或多个bean。这些bean是使用您提供给容器的配置元数据创建的(例如,以XML <bean/> 定义的形式 )。

spring的Bean概述

2、在容器本身内,这些bean定义表示为 BeanDefinition 对象,其中包含钱砀渝测(以及其他信息)以下元数据:·包覆诈端螽限定的类名:通常是正在定义的bean的实际实现类。·Bean行为配置元素,说明bean在容器中的行为方式(范围,生命周期回调等)。·引用bean执行其工作所需的其他bean。这些引用也称为协作者或依赖项。·要在新创建的对象中设置的其他配置设置 - 例如,池的大小限制或在管理连接池的Bean中使用的连接数。

3、此元数据转换为构成每个bean定义的一组属性。下表描述了这些属性:

spring的Bean概述
spring的Bean概述

4、除了包含有关如何创建特定bean的信息的bean定义之外,这些 ApplicationContext 实现还允许注册在容器外部(由用户)创建的现有对象。

spring的Bean概述

5、这是通过方法访问ApplicationContext的BeanFactory来完成的 getBeanFactory() ,该方法返回BeanFactory DefaultListableBeanFactory 实现。

spring的Bean概述

6、DefaultListableBeanFactory 通过 registerSingleton(..) 和 registerBeanDefinition(..) 方法支持此注册。但是,典型的应用程序仅使用通过常规bean定义元数据定义的bean。

spring的Bean概述

7、需要尽早注册Bean元数据和手动提议矣把噌供的单例实例,以便容器在自动装配和其他内省步骤期间正确推理它们。虽然在某种程度上支持覆盖现有元数据和现有单例实例,但是在运行时注册新bean(与对工厂的实时访问同时)并未得到官方支持,并且可能导致并发访问异常,bean容器中的状态不一致,或者都。

spring的Bean概述
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢