Springbean定義

技術小能手發表於2018-10-15

形成應用程式的骨幹是由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容器三個重要的方法:

 ●  基於XML的配置檔案。
 ●  基於註解的配置
 ●  基於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其他的重要概念,在開始用註解依賴注入來程式設計。

原文釋出時間為:2018-10-13

本文作者:菜鳥教程

本文來自雲棲社群合作伙伴“Java雜記”,瞭解相關資訊可以關注“Java雜記”。


相關文章