定義:通過建構函式來完成依賴關係的設定
優缺點:
在構造物件的同時,完成依賴關係的建立
如果關聯的物件很多,那和不得不在構造方法上加入過多的引數
基中有index:如果指定索引從0開始,type用來指定型別
實體類:
packagecom.pb.entity;/** * 班級類
* @author administrator
* */
public classgrade
public grade(intid, string name)
public intgetid()
public void setid(intid)
publicstring getname()
public voidsetname(string name)
}
packagecom.pb.entity;/** * 學生類
* @author administrator
* */
public classstudent
publicstudent(string name, integer age, grade grade)
publicstring getname()
public voidsetname(string name)
publicinteger getage()
public voidsetage(integer age)
publicgrade getgrade()
public voidsetgrade(grade grade)
}
使用構造方法注入
<?xml version="1.0" encoding="utf-8"?>1001
計算應用一班
張三23
測試類:
packagecom.pb.demo;
import
import
import
com.pb.entity.student;
public
class
demo1
}
其它不變只更改配置檔案
<?xml version="1.0" encoding="utf-8"
?>
<
beans
xmlns
=""xmlns:xsi
=""xmlns:p
=""xsi:schemalocation
=" /spring-beans-3.1.xsd"
>
<
bean
id="grade"
class
="com.pb.entity.grade"
>
<
property
name
="id"
>
<
value
>1001
value
>
property
>
<
property
name
="name"
value
="計算機應用一班"
>
property
>
bean
>
<
bean
id="student"
class
="com.pb.entity.student"
>
<
property
name
="name"
value
="張三"
/>
<
property
name
="age"
value
="18"
/>
<
property
name
="grade"
ref="grade"
/>
bean
>
beans
>
表示空字串
表示為null值
class="com.pb.entity.student">null>
官方推薦的注入方式
需要在xml上加入
xmlns:p=""
<?xml version="1.0" encoding="utf-8"
?>
<
beans
xmlns
=""xmlns:xsi
=""xmlns:p
=""xsi:schemalocation
=" /spring-beans-3.1.xsd"
>
<
bean
id="grade"
class
="com.pb.entity.grade"
p:id
="1001"
p:name
="外語一班"
>
bean
>
<
bean
id="student"
class
="com.pb.entity.student"
p:name
="張三"
p:age
="23"
p:grade-ref
="grade"
>
bean
>
beans
>
效果一目了然
需要使用autowire屬性來配置
可以在每個bean中使用autowire來配置
也可以在中使用autowire全域性配置表示這個beans下的都使用自動裝配,
缺點:不清晰,有問題比較難以查詢
autowire:
no(預設值):不進行自動裝配,必須顯示指定依賴物件
byname: 根據屬性名自動裝配。自動查詢與屬性名相同的id,如果找到,則自動注入,否則什麼都不做
bytype:根據屬性的型別自動裝配,spring自動查詢與屬性型別相同的bean,如果剛好找到唯一的那個,則自動注入,如果找到多個與屬性型別相同的bean,則丟擲異常,如果沒有找到就什麼都不做。
constructor:和bytype類似,不過它針對構造方法,如果找到乙個bean和構造方法的引數型別相匹配,則通過構造注入該依賴物件,如果找不到,就丟擲異常
<?xml version="1.0" encoding="utf-8"
?>
<
beans
xmlns
=""xmlns:xsi
=""xmlns:p
=""xsi:schemalocation
=" /spring-beans-3.1.xsd"
>
<
bean
id="grade"
class
="com.pb.entity.grade"
p:id
="1001"
p:name
="外語一班"
>
bean
>
<
bean
id="student"
class
="com.pb.entity.student"
p:name
="張三"
p:age
="23"
autowire
="byname"
>
bean
>
beans
>
自動裝配使得配置檔案可以非常簡潔,但同時也造成元件之間的依賴關係不明確,容易引發一些潛在的錯誤,謹慎使用
Spring 四 Bean注入方試
定義 通過建構函式來完成依賴關係的設定 優缺點 在構造物件的同時,完成依賴關係的建立 如果關聯的物件很多,那和不得不在構造方法上加入過多的引數 基中有index 如果指定索引從0開始,type用來指定型別 實體類 package com.pb.entity 班級類 author administra...
Spring(四)使用註解注入Bean
是 裡面的特殊標記,使用註解完成功能。註解寫法 註解名稱 屬性名 屬性值 註解可以作用在類 方法 屬性上面。在spring mvc中開啟註解掃瞄 在類 方法 屬性上新增註解即可。在類上,寫 scope註解來將類的建立方式修改為單例項或是多例項等 spring注入屬性 自動注入 autowired 手...
spring 註解注入bean
通過註解方式注入bean,需要在配置類下注入bean 第一步,配置掃瞄資料夾 首先要在spring.xml中配置需要掃瞄的配置類 base package com.kylin.config 第二步,新建註解配置類 configuration public class redisconfigurati...