Spring bean的概述

概述

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

在容器内部,这些bean定义表示为BeanDefinition对象,其中包含(其他信息)以下元数据

        限定包类名称: 通常,定义的bean的实际实现类。

        bean行为配置元素, 定义Bean的行为约束(例如作用域,生命周期回调等等)

        bean需要引用其他bean来完成工作. 这些引用也称为协作或依赖关系.

        其他配置用于新对象的创建,例如使用bean的数量来管理连接池,或者限制池的大小。

以下是每个bean定义的属性:

Class

实例化Bean

Name

命名Bean

Scope

Bean 的作用域

Constructor arguments

依赖注入

Properties

依赖注入

Autowiring mode

自动装配

Lazy initialization mode

懒加载Bean

Initialization method

初始化方法回调

Destruction method

销毁方法回调

        除了bean定义包含如何创建特定的bean的信息外,ApplicationContext实现还允许用户在容器中注册现有的、已创建的对象。 通过getBeanFactory()

访问到返回值为DefaultListableBeanFactory的实现的ApplicationContext的BeanFactory DefaultListableBeanFactory支持通过registerSingleton(..)和

registerBeanDefinition(..)方法来注册对象。 然而,典型的应用程序只能通过元数据配置来定义bean。

为了让容器正确推断它们在自动装配和其它内置步骤,需要尽早注册Bean的元数据和手动使用单例的实例。虽然覆盖现有的元数据和现有的单例实例在某

种程度上是支持的, 但是新bean在运行时(同时访问动态工厂)注册官方并不支持,可能会导致并发访问异常、bean容器中的不一致状态,或者两者兼

有。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值