ioc容器--bean管理操作
spring–ioc(控制反轉),建立和呼叫物件交給spring管理
使用ioc的目的:為了降低耦合度
xml解析、工廠模式、反射
ioc思想基於ioc容器完成,ioc底層就是物件工廠
ioc操作bean管理
a) bean管理就是兩個操作:(1)spring建立物件;(2)spring注入屬性
b) bean具體實現方式:(1)基於xml配置檔案實現 (2)基於註解方式實現
1 配置user物件建立--
>
"user"
class
="com.spring.user"
>
<
/bean>
di—依賴注入(注入屬性)
建立book類
//(1)傳統方式: 建立類,定義屬性和對應的set方法
public
class
book
}
修改bean1.xml配置檔案
<
!--(2)spring方式: set方法注入屬性--
>
"book"
class
="com.atguigu.spring5.book"
>
<
!--使用property完成屬性注入
name:類裡面屬性名稱
value:向屬性注入的值
-->
"bname" value=
"hello"
>
<
/property>
"bauthor" value=
"world"
>
<
/property>
<
/bean>
建立orders類
//(1)傳統方式:建立類,構建有參函式
public
class
orders
}
修改bean1.xml配置檔案
<
!--(2)spring方式:有引數構造注入屬性--
>
"orders"
class
="com.atguigu.spring5.orders"
>
"oname" value=
"hello"
>
<
/constructor-arg>
"address" value=
"china!"
>
<
/constructor-arg>
<
/bean>
1、新增p命名空間在配置檔案頭部--
>
<
?xml version=
"1.0" encoding=
"utf-8"
?>
""xmlns:xsi=
""xmlns:p=
""<
!--在這裡新增一行p--
>
2、在bean標籤進行屬性注入(算是set方式注入的簡化操作)--
>
"book"
class
="com.atguigu.spring5.book" p:bname=
"very" p:bauthor=
"good"
>
<
/bean>
"book"
class
="com.atguigu.spring5.book"
>
<
!--(1)null值--
>
"address"
>
>
<
!--屬性裡邊新增乙個null標籤--
>
<
/property>
<
!--(2)特殊符號賦值--
>
<
!--屬性值包含特殊符號
a 把<
>進行轉義 <
>
b 把帶特殊符號內容寫到cdata
-->
"address"
>
<
![cdata[
《南京》]]
>
<
/value>
<
/property>
<
/bean>
IOC容器 Bean管理 基於註解方式
2.元件掃瞄配置 3.基於註解方式實現屬性注入 4.完全註解開發 1 註解是 特殊標記,格式 註解名稱 屬性名稱 屬性值,屬性名稱 屬性值 2 使用註解,註解作用在類上面,方法上面,屬性上面 3 使用註解目的 簡化 xml 配置 下面四個註解功能是一樣的,都可以用來建立 bean 例項 1 comp...
基於Xml 的IOC 容器 載入 bean 元素
bean 配置資訊中的和元素解析在defaultbeandefinitiondocumentreader 中已經完成,對bean 配置資訊中使用最多的元素交由beandefinitionparserdelegate 來解析,其解析實現的原始碼如下 解析元素的入口 nullable public be...
IOC 操作 Bean 管理 基於註解方式
1 註解是 特殊標記,格式 註解名稱 屬性名稱 屬性值,屬性名稱 屬性值 2 使用註解,註解作用在類上面,方法上面,屬性上面 3 使用註解目的 簡化 xml 配置 1 component 用在bean層 2 service 用在service層 3 controller 用在dao層 4 repos...