以下面的xml檔案舉例
<?xml version="1.0" encoding="utf-8"?>
第乙個bean的名稱為role,第二個bean的名稱為medicine,第三個bean的名稱為spring.chapter.mary.poison,第四個bean的名稱為spring.chapter.mary.poison#1
id和name的區別如下
id屬性具有唯一性,每乙個bean只能對應乙個id
name屬性可以指定乙個或多個名稱,各個名稱用逗號分開,第乙個是預設為標示名稱,後面的為這個bean的別名。 例如
,這裡只建立出來
每乙個bean中都有乙個class屬性。
bean作用域
1singleton作用
該bean的作用域設定為singleton,那麼springioc冗長中只會存在乙個共享的bean例項。
即兩次呼叫後,role role = (role)factory.getbean("role");role role1 = (role)factory.getbean("role");
role == role1 的值為 true
2prototype作用
prototype作用與部署的bean,每一次請求都會產生乙個新的bean例項,
或者,role == role1 的值為 false
還有其他作用域,這裡不再介紹
bean的屬性,spring有兩種注入方式,一種set注入,一種構造子注入。在配置檔案總選擇那種方式取決於實體類。
(1)實體類的每個變數都有set方法,此時使用property屬性來配置
(2)史泰龍使用建構函式來配置,此時使用屬性來配置
若乙個類中既有構造方法,又有set方法
如下:package chapter1;
import org.springframework.beans.factory.xml.xmlbeanfactory;
import org.springframework.core.io.classpathresource;
import org.springframework.core.io.resource;
import org.springframework.beans.factory.beanfactory;
import org.springframework.beans.factory.xml.xmlbeanfactory;
public class hello
配置檔案為:
或者 可見是set方法起作用。
Spring中Bean的配置
可以把spring看做乙個大型的工廠,而spring容器中的bean就是該工廠的產品。要想使用這個工廠生產和管理bean,就需要在配置檔案中告訴它需要哪些bean,以及需要使用何種方式將這些bean裝配到一起。xml配置檔案的根元素是beans,beans中包含了多個bean子元素,每乙個bean子...
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 在同乙個...