Spring 配置檔案 屬性 引數

2021-06-02 16:23:47 字數 3966 閱讀 1806

1、value元素

元素通過字串來指定屬性或構造器引數的值。

com.mysql.jdbc.driver

jdbc:mysql://localhost:3306/mydb

root

2、idref元素

idref元素用來將容器內其它bean的id傳給或元素,同時提供錯誤難功能。

等同於:

thetargetbean

使用idref標記允許容器在部署時驗證所被引用的bean是否存在。此外,如果被引用的bean在同一xml檔案內,且bean名字就是bean id,那麼可以使用local屬性。

此屬性允許xml解析器在解析xml檔案時來對引用的bean進行驗證。

3、ref元素

形式一:

這是最常見的形式是通過使用ref標記指定bean屬性的目標bean,通過該標籤可以引用同一容器或父容器內的任何bean(無論是否在同一xml檔案中)。

xml『bean』元素的值即可以是指定的bean的id值也可以是其name值。

形式二:

使用ref的local屬性指定目標bean,它可以利用xml解析器來難所引用的bean是否存在同一檔案中。local屬性值必須是目標bean的id屬性值。

形式三:

通過使用ref的parent屬性來引用當前視窗的父容器中的bean。parent屬性值即可以是目標bean的id值,也可以是name屬性值。

4、內部 bean:

5、集合合併:

從spring2.0開始,spring ioc容器將支援集合的合併。父子集合元素合併後的值就是子集合中的最終結果,而且子集合中的元素值將覆蓋父集合中的對應的值。

[email protected]

[email protected]

[email protected]

[email protected]

合併後內容:

[email protected]

[email protected]

[email protected]

list集合有排序功能,父bean的列表內容將排在子bean列表內容的前面;

merge屬性必須在繼承的子bean中定義。

6、nulls

用於處理null值。spring會把屬性的空引數當作空字串處理。

等同於excaplebean.seteamil("");

而null值則可以使用元素來表示:

7、簡寫:

針對常見的value值或bean的引用,spring提供了簡化格式用於替代和元素。

、、元素都支援value屬性,它可以用來替代內嵌的元素。

hello           *****           

hello           *****           

hello           *****           

和支援類似的簡寫屬性ref,它可以替找整個內嵌的元素。

*****           

*****           

切記:儘管存在等同於元素的簡寫形式,但並沒有的簡寫形式。

map中的entry元素的簡寫形式為key/key-ref和value/value-ref屬性。

*****         

8、組合屬性名稱

當設定bean的組合屬性時,除了最後一下屬性外,只要其他屬性值不為null,組合或巢狀屬性名是完全合法的。

9、depends-on屬性:

depends-on屬性可以用於當前bean初始化之前顯式的強制乙個或多個bean被初始化。

若需要表達對多個bean的依賴,可民認在中將指定的多個bean名字用分隔符進行分隔,分隔符可以是逗號、空格及分號等。

10、延遲初始化bean--lazy-init 屬性:

在容器層次中通過在元素上使用『default-lazy-init』屬性來控制延遲初始化也是可能的。

11、autowire《自動裝配》 屬性:

模式     說明

no      不使用自動裝配,必須通過ref元素指定依賴,這是預設設定。

byname     根據屬性名自動裝配。spring將檢查容器並根據名字查詢與屬性完全一致的bean,並將其與屬性自動裝配。

bytype     如果容器中存在乙個與指定屬性型別相同的bean,那麼將與該屬性自動裝配。如果存在多個,則丟擲異常。

constructor    與bytype的方式類似,不同之處在於它應用於構造器引數。如果在容器中未找到與構造器引數型別一致的bean,那麼將丟擲異常。

autodetect    通過bean類的自省機制(introspection)來決定是使用constructor還是bytype方式進行自動裝配。如果發現預設的構造器,那麼將使用bytype方式。

--通過設定元素的autowire-candidate="false",可以針對單個bean設定其是否為被自動裝配物件。

12、dependency-check 《依賴檢查》 屬性:

此屬性用於檢查bean定義中實際屬性值的設定。

模式     說明

none     沒有依賴檢查,如果bean的屬性沒有值的話可以不用設定。

******     對於原始型別及集合(除協作者外的一切東西)執行依賴檢查。

object     僅對協作者執行依賴檢查員。

all      對協作者,原始型別及集合執行依賴檢查。

spring ioc容器的例項化非常簡單,如下面的例子:

resource resource = new filesystemresource("beans.xml");

beanfactory factory = new xmlbeanfactory(resource);

... 或...

classpathresource resource = new classpathresource("beans.xml");

beanfactory factory = new xmlbeanfactory(resource);

... 或...

beanfactory factory = (beanfactory) context;

table 3.1. bean定義名稱

鏈結class

section 3.2.3.2, 「例項化bean」

name

section 3.2.3.1, 「命名bean」

scope

section 3.4, 「bean的作用域」

constructor arguments

section 3.3.1, 「注入依賴」

properties

section 3.3.1, 「注入依賴」

autowiring mode

section 3.3.6, 「自動裝配(autowire)協作者」

dependency checking mode

section 3.3.7, 「依賴檢查」

lazy-initialization mode

section 3.3.5, 「延遲初始化bean」

initialization method

section 3.5.1, 「lifecycle介面」

destruction method

section 3.5.1, 「lifecycle介面」

spring 配置檔案屬性

首先 bean 屬性內容 scope 屬性是幹嗎用的?scope singleton 是預設值,通過設定scope prototype 每次指定名稱取得bean時 都會產生乙個新得例項。singleton true factory method bean的例項化中 預設情況下呼叫的是 類的預設構造方...

struts配置檔案屬性講解

上面 片段配置了乙個常用屬性 struts.custom.i18n.resources,該屬性指定了應用所需的國際化資源檔案的basename為mess。提示 struts 2提供了兩種方式來管理struts 2的屬性 既可以通過struts.properties檔案來配置struts 2屬性,也可...

springboot讀取配置檔案屬性

比如xiao.zg.host 127.0.0.1 username xzg85586537 那麼就建立乙個檔案 data configurationproperties prefix xiao.zg 配置檔案的字首 public class xiaoproperties string host st...