**
1、ioc思想基於ioc容器,ioc容器底層就是物件工廠
2、spring提供ioc容器實現兩種方式(兩個介面)
1、基於xml建立物件
"user"
class
="com.study.user.user"
>
<
/bean>
常用的屬性:
id屬性:唯一標識
class屬性:類全路徑(包類路徑)
2、注入屬性的兩種方式
/**
* 演示進行依賴注入的方式
*/public
class
book
public
void
setbauthor
(string bauthor)
}
/**
*演示依賴注入的方式
*/public
class
order
}
②、編寫xml檔案,並在其中配置屬性值
>
-arg name="oname" value="water">
-arg>
-arg name="address" value="china">
-arg>
>
1、注入屬性-外部bean①、建立兩個類userservice類和userdao類
②、在userservice呼叫userdao裡面的方法
③、在spring的配置檔案中進行配置
public
class
userservice
public
void
add(
)}
bean.xml:
"userservice"
class
="com.study.service.userservice"
>
"userdao" ref=
"userdao"
>
<
/property>
<
/bean>
"userdao"
class
="com.study.dao.userdaoimpl"
>
<
/bean>
測試程式:
public
class
testbean
}
2、注入屬性-內部bean最常見的使用內部bean的情況為一對多的情況
-第一步首先建立兩個類,如部門類和員工類(表現為一對多的關係)
//department類*(部門)
public
class
dept
@override
public string tostring()
';}}
//emplement類(員工)
public
class
emppublic
void
setename
(string ename)
public
void
setgender
(string gender)
public
void
print()
}
"emp"
class
="com.study.bean.emp"
>
"ename" value=
"lucy"
>
<
/property>
"gender" value=
"女">
<
/property>
"dept"
>
"dept"
class
="com.study.bean.dept"
>
"dname" value=
"安保部"
>
<
/property>
<
/bean>
<
/property>
<
/bean>
@test
public
void
testbean3()
3、注入屬性-級聯賦值
"emp"
class
="com.study.bean.emp"
>
"ename" value=
"luck"
>
<
/property>
"gender" value=
"男">
<
/property>
"dept" ref=
"dept"
>
<
/property>
<
/bean>
"dept"
class
="com.study.bean.dept"
>
"dname" value=
"財務部"
>
<
/property>
<
/bean>
測試程式:
@test
public
void
testbean3_1()
Spring框架的IoC容器
ioc 是指在程式開發中,例項的建立不再由呼叫者管理,而是由 spring 容器建立。spring 容器會負責控制程式之間的關係,而不是由程式 直接控制,因此,控制權由程式 轉移到了 spring 容器中,控制權發生了反轉,這就是 spring 的 ioc 思想。打個比方 孩子長大了需要找老師,你需...
Spring框架 IOC容器概述 一
二 di 依賴注入 三 spring中的di ioc 控制反轉 inversion of control 它是一種思想,主要目的就是將物件的控制權由開發人員變為程式本身,讓程式來管理物件的建立 銷毀 生命週期 開發人員直接使用由容器管理的物件即可,不需要手動的建立物件。控制就是物件的建立過程由開發人...
Spring框架 在Ioc容器中配置Bean
配置bean 配置形式 基於xml檔案的方式,基於註解的方式 bean的配置方式 通過全類名 反射 通過工廠方法 靜態工廠方法 例項工廠方法 factorybean 依賴注入的方式 屬性注入,構造器注入 注入屬性值細節 自動轉配 bean之間的關係 繼承 依賴 bean的作用域 singleton ...