javascript
Spring Bean的配置及常用属性
作為 Spring 核心機(jī)制的依賴注入,改變了傳統(tǒng)的編程習(xí)慣,對(duì)組件的實(shí)例化不再由應(yīng)用程序完成,轉(zhuǎn)而交由 Spring 容器完成,在需要時(shí)注入應(yīng)用程序中,從而對(duì)組件之間依賴關(guān)系進(jìn)行了解耦。這一切都離不開 Spring 配置文件中使用的 元素。
Spring 容器可以被看作一個(gè)大工廠,而 Spring 容器中的 Bean 就相當(dāng)于該工廠的產(chǎn)品。如果希望這個(gè)大工廠能夠生產(chǎn)和管理 Bean,這時(shí)則需要告訴容器需要哪些 Bean,以及需要以何種方式將這些 Bean 裝配到一起。
Spring 配置文件支持兩種不同的格式,分別是 XML 文件格式和 Properties 文件格式。
通常情況下,Spring 會(huì)以 XML 文件格式作為 Spring 的配置文件,這種配置方式通過(guò) XML 文件注冊(cè)并管理 Bean 之間的依賴關(guān)系。
XML 格式配置文件的根元素是 ,該元素包含了多個(gè) 子元素,每一個(gè) 子元素定義了一個(gè) Bean,并描述了該 Bean 如何被裝配到 Spring 容器中。
定義 Bean 的示例代碼如下所示:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd"><!-- 使用id屬性定義person1,其對(duì)應(yīng)的實(shí)現(xiàn)類為com.mengma.person1 --><bean id="person1" class="com.mengma.damain.Person1" /><!--使用name屬性定義person2,其對(duì)應(yīng)的實(shí)現(xiàn)類為com.mengma.domain.Person2--><bean name="Person2" class="com.mengma.domain.Person2"/> </beans>在上述代碼中,分別使用 id 和 name 屬性定義了兩個(gè) Bean,并使用 class 元素指定了 Bean 對(duì)應(yīng)的實(shí)現(xiàn)類。
元素的常用屬性
| id | 是一個(gè) Bean 的唯一標(biāo)識(shí)符,Spring 容器對(duì) Bean 的配置和管理都通過(guò)該屬性完成 |
| name | Spring 容器同樣可以通過(guò)此屬性對(duì)容器中的 Bean 進(jìn)行配置和管理,name 屬性中可以為 Bean 指定多個(gè)名稱,每個(gè)名稱之間用逗號(hào)或分號(hào)隔開 |
| class | 該屬性指定了 Bean 的具體實(shí)現(xiàn)類,它必須是一個(gè)完整的類名,使用類的全限定名 |
| scope | 用于設(shè)定 Bean 實(shí)例的作用域,其屬性值有 singleton(單例)、prototype(原型)、request、session 和 global Session。其默認(rèn)值是 singleton |
| constructor-arg | 元素的子元素,可以使用此元素傳入構(gòu)造參數(shù)進(jìn)行實(shí)例化。該元素的 index 屬性指定構(gòu)造參數(shù)的序號(hào)(從 0 開始),type 屬性指定構(gòu)造參數(shù)的類型 |
| property | 元素的子元素,用于調(diào)用 Bean 實(shí)例中的 Set 方法完成屬性賦值,從而完成依賴注入。該元素的 name 屬性指定 Bean 實(shí)例中的相應(yīng)屬性名 |
| ref | 和 等元素的子元索,該元素中的 bean 屬性用于指定對(duì) Bean 工廠中某個(gè) Bean 實(shí)例的引用 |
| value | 和 等元素的子元素,用于直接指定一個(gè)常量值 |
| list | 用于封裝 List 或數(shù)組類型的依賴注入 |
| set | 用于封裝 Set 類型屬性的依賴注入 |
| map | 用于封裝 Map 類型屬性的依賴注入 |
| entry | 元素的子元素,用于設(shè)置一個(gè)鍵值對(duì)。其 key 屬性指定字符串類型的鍵值,ref 或 value 子元素指定其值 |
總結(jié)
以上是生活随笔為你收集整理的Spring Bean的配置及常用属性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java 时间戳转换成时间
- 下一篇: Spring实例化Bean