Spring中Bean的配置

2021-08-03 19:58:07 字數 1778 閱讀 6815

可以把spring看做乙個大型的工廠,而spring容器中的bean就是該工廠的產品。要想使用這個工廠生產和管理bean,就需要在配置檔案中告訴它需要哪些bean,以及需要使用何種方式將這些bean裝配到一起。

xml配置檔案的根元素是beans,beans中包含了多個bean子元素,每乙個bean子元素定義了乙個bean,並描述了該bean如何被裝配到spring容器中。

bean元素中的屬性:

在配置檔案中,通常乙個普通的bean只需要定義id和class兩個屬性即可。

在物件導向的程式中,要想使用某個物件,就需要先例項化這個物件。在spring中,例項化bean有三種方式,分別為構造器例項化、靜態工廠方式例項化和例項工廠方式例項化。

構造器例項化是指spring容器通過bean對應的類中預設的建構函式來例項化bean。就是ioc那個例子。

bean的裝配方式即bean的依賴注入的方式。

在配置檔案中更改

<?xml version="1.0" encoding="utf-8"?>

xmlns=""

xmlns:xsi=""

xmlns:context=""

xsi:schemalocation="

/spring-beans.xsd

/spring-context.xsd">

base-package="com.itcast.annotation">

context:component-scan>

beans>

和之前的例子相比schema約束增加了第4行和7,8行。這個約束還是從之前的那個xsd-config.html中找。

然後使用context命名空間的component-scan元素進行註解的掃瞄,其base-package屬性用來通知spring所需要掃瞄的目錄。

定義乙個dao層的介面

public

inte***ce

bookdao

定義乙個dao層的實現類

@repository("bookdao")

public

class

bookdaoimpl

implements

bookdao

}

定義乙個service層的介面

public

inte***ce

bookservice

定義乙個service層的實現類

@service("bookservice")

public

class

bookserviceimpl

implements

bookservice

@override

public

void

addbook()

}

測試類

public

class

testioc

}

@repository註解將bookdaoimpl類標識為spring中的bean,其寫法相當於配置檔案中的

class="cn.itcast.annotation.bookdaoimpl"/>

@resource註解標註在屬性bookdao上(也可標註在bookdao的set方法上),這相當於配置檔案中

name="bookdao"

ref="bookdao"/>

Spring中Bean的配置

以下面的xml檔案舉例 第乙個bean的名稱為role,第二個bean的名稱為medicine,第三個bean的名稱為spring.chapter.mary.poison,第四個bean的名稱為spring.chapter.mary.poison 1 id和name的區別如下 id屬性具有唯一性,每...

Spring中Bean的配置

1 bean的配置一般都在xml檔案中進行配置 3 spring的bean管理的實現是依靠大量的反射來實現的。4 bean定義配置 4.1bean標籤 id屬性 用於指定bean的名稱,在bean被依賴時使用,在獲取bean時使用等 name屬性 用於指定bean的別名 singleton屬性 用於...

Spring中Bean的scope配置

scope配置只是相對於同乙個上下文的,多次通過new出來的上下文是不同的上下文。scope取值 值說明singleton 在同乙個上下文中保證只有乙個bean例項,這是spring的預設配置 prototype 在同乙個上下文中,每次使用getbean方法都返回不同的例項 request 在同乙個...