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物件
- 深入原始碼理解SpringBean生命週期原始碼SpringBean
- 需求定義
- 巨集定義
- 定義製造業操作(定義 MES/MOM 系統)
- 北京某大公司:SpringBean生命週期SpringBean
- 育種定義
- 類的定義
- 類定義介面
- 成功的定義
- 程式的定義
- XML Schema定義XML
- Linus 定義 LinuxLinux
- 簡單上手SpringBean的整個裝配過程SpringBean
- SMART原則的定義和含義
- 設計模式定義設計模式
- 類定義(class definition)
- SOCKS代理的定義
- 定義基因區域
- ESLint和元件定義EsLint元件
- Logger級別定義
- 瀑布和迭代可混合:敏捷定義者Martin Fowler定義瀑布法敏捷
- 模型的列表定義中,使用函式時如何定義引數?模型函式
- 羅技滑鼠永久宏定義設定
- springBean整理(一),不為別的,只為面試嗎SpringBean面試
- c 語言中巨集定義和定義全域性變數的區別變數
- [譯]Kotlin中是應該定義函式還是定義屬性?Kotlin函式
- 宏定義define的用法
- 使用 defineNuxtComponent`定義 Vue 元件UXVue元件
- 方法的作用和定義
- 01.變數定義變數
- onnx 運算元定義
- 使用flowable部署流程定義
- vue常量定義以及使用Vue
- PFMEA如何定義範圍?
- python如何定義函式Python函式