IOC容器 Bean管理 基於XML方式(一)

2021-10-12 06:25:02 字數 2344 閱讀 3381

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...