
1.<bean>標(biāo)簽 id 和 name 的配置
?id : 使用了約束中的唯一約束,里面不可以有特殊字符
?name :沒(méi)有使用約束中的唯一約束,理論上可以重復(fù)出現(xiàn),但在實(shí)際開(kāi)發(fā)中不使用,而且在getBean的時(shí)候會(huì)報(bào)錯(cuò),里面可以有特殊字符
2.<bean>標(biāo)簽的生命周期
?init-method : Bean被初始化的時(shí)候執(zhí)行的方法
?destroy-method : 在容器銷(xiāo)毀時(shí)調(diào)用的方法

3.<bean>的作用域
?scope屬性配置Bean的作用域范圍
??singletion : 默認(rèn)值,=true, 在IoC容器中只存在一個(gè)Bean實(shí)例,以單例方式存在
??prototype : 每次從容器中調(diào)用Bean時(shí),都會(huì)返回一個(gè)新實(shí)例,即getBean()時(shí)等于new對(duì)象
??request : 每次Http請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的Bean。僅適用于WebApplicationCotext環(huán)境
??session : 同一個(gè)Http Session共享一個(gè)Bean,不同的Session使用不同的Bean。僅適用于WebApplicationCotext環(huán)境
??globalsession : 必須在prolet環(huán)境下使用,僅適用于WebApplicationCotext環(huán)境
4.自動(dòng)裝配
?由于在手動(dòng)配置xml過(guò)程中,常常發(fā)生字母缺漏和大小寫(xiě)等錯(cuò)誤,而無(wú)法對(duì)其進(jìn)行檢查,使得開(kāi)發(fā)效率降低。采用自動(dòng)裝配將避免這些錯(cuò)誤,并且使配置簡(jiǎn)單化。當(dāng)一個(gè)bean節(jié)點(diǎn)帶有 autowire =" byName"的屬性時(shí)。
??①將查找其類(lèi)中所有的set方法名,例如setUser,獲得將set去掉并且首字母小寫(xiě)的字符串,即user。
??②去spring容器中尋找是否有此字符串名稱(chēng)id的對(duì)象。
??③如果有,就取出注入;如果沒(méi)有,就報(bào)空指針異常。