Spring學習筆記二

2021-09-03 08:23:09 字數 2433 閱讀 4281

spring中通過配置xml檔案來達到物件之間的松耦合(依賴注入dl)

1.對於同乙個xml檔案,如果想引用bean,直接在ref後面接上id名即可。

例如:csvoutputgenerator" />

csvoutputgenerator" class="com.ray.output.impl.csvoutputgenerator" />

2.如果想要引用其他xml檔案中的bean,可以使用來表示

例如:///如果是在同乙個xml檔案 ,將bean改為local也可以

在另外乙個xml檔案中可以宣告: 3.

spring自動裝備bean(

面試經常考的地方)

在spring框架中,可以使用auto-wiring功能自動裝配bean,只需在中定義autowire屬性。

假設存在custom和person兩個類,其中

public class customer

private person person;

public customer(person person)

com.ray.common.address" >

例子:com.ray.common.customer

" autowire="bytype" />

com.ray.common.

address

」 >//注意型別生命只能有乙個 不然會報錯

com.ray.common.

address

」 >

//報錯!!!!!

customer類和address類的結構如下:

public class customer

public class address

customer的屬性address的資料型別同abcaddress相同,則自動裝配。

需要注意的是:在型別的自動裝配時,必須確保會有乙個唯一的資料型別生命

例子參見如下:

public class hoster

//...

}public class dog 

這是 兩個類,其中hoster類的構造函式引數包含dog這個物件。

則可以如下進行自動裝配,而無需使用ref符號:

「com.ray.common.hoster" autowire="constructor" />

「com.ray.common.dog" >

這裡會出現兩種情況:

1.按建構函式型別裝配 

2.按型別自動裝配

(上面已經講過)

context

="以及,/spring-context.xsd

2.然後我們在中加入<

context

:annotation-config/>

3.接著我們可以使用@autowire欄位,例如:

@autowired

public void

setperson

(person person)

注:當遇到兩個類似的bean,都屬於同乙個com.ray.common.person時,spring 如何知道自己該自動裝配哪個bean  

這時我們可以指定自動裝配的是哪個bean,利用@quanlifier 萬用字元即可

配置檔案:

id="personbeana"

class

="com.ray.common.person"

>

name

="name"

value

="raytseng"

/>

name

="address"

value

="ecnu"

/>

name

="age"

value

="22"

/> id

="personbeanb"

class

="com.ray.common.person"

>

name

="name"

value

="fy"

/>

name

="address"

value

="ecnu"

/>

name

="age"

value

="23"

/>

bean類:

@autowired

@qualifier

("personbeanb")

public void

setperson

(person person)

主程式入口:

public class

public static void

main

(string args) }

輸出:最後輸出結果為fy

Spring學習筆記(二)

預設按 bytype找,如果該type配了多個bean,則在這些bean中再通過byname 變數名 的方式匹配,如還未找到或找到2個及以上則拋異常。userservice public class userservice public void init 配合 autowired註解使用,當想通過...

學習筆記 Spring(二)

使用註解的方式完成注入物件中的效果 xmlns xmlns xsi xmlns aop xmlns tx xmlns context xsi schemalocation spring beans 3.0.xsd spring aop 3.0.xsd spring tx 3.0.xsd spring...

Spring學習筆記 二 防Spring事物控制

public class conutils 在threadlocal中獲取連線物件,如果沒有,新建立乙個connection,並賦值到threadlocal中 param return throws sqlexception public connection getthreadconnection...