(三):Spring Bean 定义和生命周期

Bean 定义

bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。

bean 定义包含称为配置元数据的信息,下述容器也需要知道配置元数据:Bean由配置的元素数据创建。

属性描述
class这个属性是强制性的,并且指定用来创建 bean 的 bean 类。
name这个属性指定唯一的 bean 标识符。在基于 XML 的配置元数据中,你可以使用 ID 和/或 name 属性来指定 bean 标识符。
scope这个属性指定由特定的 bean 定义创建的对象的作用域,它将会在 bean 作用域的章节中进行讨论。
constructor-arg它是用来注入依赖关系的,并会在接下来的章节中进行讨论。
properties它是用来注入依赖关系的,并会在接下来的章节中进行讨论。
autowiring mode它是用来注入依赖关系的,并会在接下来的章节中进行讨论。
lazy-initialization mode延迟初始化的 bean 告诉 IoC 容器在它第一次被请求时,而不是在启动时去创建一个 bean 实例。
initialization 方法在 bean 的所有必需的属性被容器设置之后,调用回调方法。它将会在 bean 的生命周期章节中进行讨论。
destruction 方法当包含该 bean 的容器被销毁时,使用回调方法。它将会在 bean 的生命周期章节中进行讨论。

 

Spring 配置元数据

Spring IoC 容器完全由实际编写的配置元数据的格式解耦。有下面三个重要的方法把配置元数据提供给 Spring 容器:

  • 基于 XML 的配置文件

  • 基于注解的配置

  • 基于 Java 的配置
    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    
       <!-- A simple bean definition -->
       <bean id="..." class="...">
           <!-- collaborators and configuration for this bean go here -->
       </bean>
    
       <!-- 延迟初始化的 bean 容器在它第一次被请求时,而不是在启动时去创建一个 bean 实例-->
       <bean id="..." class="..." lazy-init="true">
           <!-- collaborators and configuration for this bean go here -->
       </bean>
    
       <!--  在 bean 的所有必需的属性被容器设置之后,调用回调方法-->
       <bean id="..." class="..." init-method="...">
           <!-- collaborators and configuration for this bean go here -->
       </bean>
    
       <!-- 当包含该 bean 的容器被销毁时,使用回调方法。 -->
       <bean id="..." class="..." destroy-method="...">
           <!-- collaborators and configuration for this bean go here -->
       </bean>
    
       <!-- more bean definitions go here -->
    
    </beans>

    Bean的生命周期

  • 尽管还有一些在 Bean 实例化和销毁之间发生的活动,,它们在 bean 的初始化和销毁的时候是必需的。

    为了定义安装和拆卸一个 bean,我们只要声明带有 init-method 和/或 destroy-method 参数的 。init-method 属性指定一个方法,在实例化 bean 时,立即调用该方法。同样,destroy-method 指定一个方法,只有从容器中移除 bean 之后,才能调用该方法。

    Bean的生命周期可以表达为:Bean的定义——Bean的初始化——Bean的使用——Bean的销毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值