Spring的Bean定義


以下內容引用自http://wiki.jikexueyuan.com/project/spring/bean-definition.html

Bean定義

被稱作bean的對象是構成應用程序的支柱也是由Spring IoC容器管理的。bean是一個被實例化,組裝,並通過Spring IoC容器所管理的對象。這些bean是由用容器提供的配置元數據創建的。

bean定義包含稱為配置元數據的信息,下述容器也需要知道配置元數據

  • 如何創建一個bean

  • bean的生命周期的詳細信息

  • bean的依賴關系

上述所有的配置元數據轉換成一組構成每個bean定義的下列屬性。

屬性 描述
class 這個屬性是強制性的,並且指定用來創建bean的bean類。
name 這個屬性指定唯一的bean標識符。在基於XML的配置元數據中,你可以使用ID和/或name屬性來指定bean標識符。
scope 這個屬性指定由特定的bean定義創建的對象的作用域。
constructor-arg 它是用來注入依賴關系的。
properties 它是用來注入依賴關系的。
autowiring mode 它是用來注入依賴關系的。
lazy-initialization mode 延遲初始化的bean告訴IoC容器在它第一次被請求時,而不是在啟動時去創建一個bean實例。
initialization method 在bean的所有必需的屬性被容器設置之后,調用回調方法。
destruction method 當包含該bean的容器被銷毀時,使用回調方法。

Spring配置元數據

Spring IoC容器完全由實際編寫的配置元數據的格式解耦。有下面三個重要的方法把配置元數據提供給Spring容器:

  • 基於XML的配置文件

  • 基於注解的配置

  • 基於Java的配置

以下為一個基於XML配置文件的例子,這個配置文件中有不同的bean定義,包括延遲初始化,初始化方法和銷毀方法的:

<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.xsd">
  
    <!-- 一個簡單的bean定義 -->
    <bean id = "..." class = "...">
        <!-- 在這里配置這個bean的協作者 -->
    </bean>

    <!-- 一個具有延遲初始化設置的bean定義 -->
    <bean id = "..." class = "..." lazy-init = "true">
        <!-- 在這里配置這個bean的協作者 -->
    </bean>

    <!-- 一個具有初始化方法的bean定義 -->
    <bean id = "..." class = "..." init-method = "...">
        <!-- 在這里配置這個bean的協作者 -->
    </bean>

    <!-- 一個具有銷毀方法的bean定義 -->
    <bean id = "..." class = "..." destroy-method = "...">
        <!-- 在這里配置這個bean的協作者 -->
    </bean>

    <!-- 在這里定義更多的bean -->
  
</beans>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM