Spring Bean 定义

  • Bean 定义

    构成应用程序主干并由Spring IoC容器管理的对象称为BeanBean是由Spring IoC容器实例化,组装和以其他方式管理的对象。这些Bean是使用您提供给容器的配置元数据创建的。例如,以XML <bean />定义的形式出现在前面的章节中。Bean定义包含称为配置元数据的信息,容器知道以下信息时需要使用
    • 如何创建一个Bean
    • Bean的生命周期详细信息
    • Bean的依赖
    上面所有的配置元数据都转换为组成每个Bean定义的一组以下属性。
    属性 描述
    此属性是必需的,它指定用于创建Bean的Bean类。
    名称 此属性唯一地指定Bean标识符。在基于XML的配置元数据中,您使用id和/或name属性来指定Bean标识符。
    作用域 此属性指定从特定bean定义创建的对象的范围,它将在bean范围一章中讨论。
    构造函数 这用于注入依赖关系,将在后续章节中进行讨论。
    属性 这用于注入依赖关系,将在后续章节中进行讨论。
    自动接线模式 这用于注入依赖关系,将在后续章节中进行讨论。
    延迟初始化模式 延迟初始化的bean告诉IoC容器在首次请求时而不是在启动时创建一个bean实例。
    初始化方法 容器设置完bean的所有必需属性后,将调用此回调。将在bean生命周期一章中进行讨论。
    销毁方法 销毁包含bean的容器时要使用的回调。将在bean生命周期一章中进行讨论。
  • 配置元数据

    Spring IoC容器与实际写入此配置元数据的格式完全脱钩。以下是向Spring 容器提供配置元数据的三种重要方法
    1. 基于XML的配置文件。
    2. 基于注解的配置
    3. 基于Java代码的配置
    您已经了解了如何将基于XML的配置元数据提供给容器,但是让我们看一下具有不同Bean定义的基于XML的配置文件的另一个示例,包括延迟初始化,初始化方法和销毁方法
    <?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">
    
       <!--一个简单的bean定义 -->
       <bean id = "..." class = "...">
          <!-- bean的协作者和配置在这里 -->
       </bean>
    
       <!-- 设置了延迟初始化的bean定义 -->
       <bean id = "..." class = "..." lazy-init = "true">
          <!-- bean的协作者和配置在这里 -->
       </bean>
    
       <!-- 初始化方法 -->
       <bean id = "..." class = "..." init-method = "...">
           <!-- bean的协作者和配置在这里 -->
       </bean>
    
       <!-- 销毁方法 -->
       <bean id = "..." class = "..." destroy-method = "...">
          <!-- bean的协作者和配置在这里 -->
       </bean>
    
       <!-- 更多的bena定义在这里 -->
       
    </beans>
    您可以查看Spring Hello World示例以了解如何定义,配置和创建Spring Bean。我们将在单独的章节中讨论基于注解的配置。因为我们希望您掌握其他一些重要的Spring概念。