Springbean定義
形成應用程式的骨幹是由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雜記”。
相關文章
- 從自定義一個作用域開始來了解SpringBean的作用域SpringBean
- SpringBean有哪些作用域?SpringBean
- 建立獲取Springbean物件工具類SpringBean物件
- Item定義
- 需求定義
- 深入原始碼理解SpringBean生命週期原始碼SpringBean
- 定義製造業操作(定義 MES/MOM 系統)
- 類定義介面
- 程式的定義
- Oracle Scn 定義Oracle
- html定義列表HTML
- oracle 定義jobOracle
- 如何定義NoSQLSQL
- 育種定義
- 廣義智慧集基本定義公式公式
- 羅技滑鼠永久宏定義設定
- 北京某大公司:SpringBean生命週期SpringBean
- SMART原則的定義和含義
- 介面模組的定義
- SOCKS代理的定義
- ThinkPhP 路徑定義PHP
- oracle 線上重定義Oracle
- iOS常用巨集定義iOS
- shell 函式定義函式
- 向量定義筆記筆記
- javascript陣列定義JavaScript陣列
- php中定義類PHP
- Oracle線上重定義Oracle
- 類定義(class definition)
- 設計模式定義設計模式
- 模型的列表定義中,使用函式時如何定義引數?模型函式
- 瀑布和迭代可混合:敏捷定義者Martin Fowler定義瀑布法敏捷
- define巨集定義和const常量定義之間的區別
- 概率的公理化定義和資訊量定義公式推導公式
- springBean整理(一),不為別的,只為面試嗎SpringBean面試
- 簡單上手SpringBean的整個裝配過程SpringBean
- c 語言中巨集定義和定義全域性變數的區別變數
- Online Redefinition線上重定義(三)--多表關聯重定義案例