位置:首頁 > Java技術 > Spring > Spring bean定義

Spring bean定義

形成應用程序的骨乾是由Spring IoC容器所管理的對象稱為bean。bean被實例化,組裝,並通過Spring IoC容器所管理的對象。這些bean由容器提供,例如,在XML的<bean/>定義,已經看到了前幾章的形式配置元數據創建。

bean定義包含所需要的容器要知道以下稱為配置元數據的信息:

  • 如何創建一個bean

  • Bean 生命周期的詳細信息

  • 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 method 回調隻是在bean的所有必要屬性後調用已設置的容器。它會在bean的生命周期章節中討論。
destruction method 當包含該bean容器被銷毀所使用的回調。它會在bean的生命周期章節中討論。

Spring配置元數據

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">

   <!-- A simple bean definition -->
   <bean id="..." class="...">
       <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with lazy init set on -->
   <bean id="..." class="..." lazy-init="true">
       <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with initialization method -->
   <bean id="..." class="..." init-method="...">
       <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- A bean definition with destruction method -->
   <bean id="..." class="..." destroy-method="...">
       <!-- collaborators and configuration for this bean go here -->
   </bean>

   <!-- more bean definitions go here -->

</beans>

可以查看Spring Hello World 示例 來了解如何定義,配置和創建Spring Bean。 

有關基於注解的配置在一個單獨的章節討論。在一個單獨的章節刻意保留它,因為希望能掌握一些Spring其他的重要概念,在開始用注解依賴注入來編程。