欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Spring內核研究-管理bean之間的關(guān)系二(自動(dòng)依賴(lài)檢查)
Spring內核研究-管理bean之間的關(guān)系二(自動(dòng)依賴(lài)檢查)
    自動(dòng)依賴(lài)檢查可以保證所有java bean中的屬性(set方法)都在Spring中正確的配置。如果在一個(gè)java bean中定義了一個(gè)name屬性,并且也setName方法。那么在開(kāi)啟自動(dòng)依賴(lài)檢查功能后,就必須在Spring中定義這個(gè)屬性,否則Spring將拋出異常。
請看下面的例子:
Dao.java
包含一個(gè)setName方法。
package research.spring.beanfactory.ch3;public class Dao {private String name;public void setName(String name) {this.name = name;}}

context.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean name="dao" class="research.spring.beanfactory.ch3.Dao"> </bean><bean id="database" class="research.spring.beanfactory.ch3.Database"></bean></beans>

    我們在context.xml沒(méi)有定義Dao的name屬性。上面的配置,Spring可以正常的實(shí)例化Dao對象。
下面我們修改context.xml:
我們通過(guò)dependency-check=all,在Dao上增加了自動(dòng)依賴(lài)檢查的功能。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean name="dao" class="research.spring.beanfactory.ch3.Dao" dependency-check="all" > </bean><bean id="database" class="research.spring.beanfactory.ch3.Database"></bean></beans>

 
當配置依賴(lài)檢查時(shí),Spring實(shí)例化Dao時(shí)會(huì )拋出一個(gè)異常:


 
Spring定義了4種依賴(lài)檢查的策略:
 
  • none(默認)
    不進(jìn)行依賴(lài)檢查。
  • simple
    只對簡(jiǎn)單屬性和集合中的簡(jiǎn)單屬性進(jìn)行檢查。不對依賴(lài)的對象檢查。
  • objects
    只對為對象類(lèi)型的屬性進(jìn)行檢查。
  • all
    對所有類(lèi)型進(jìn)行檢查。
 
    如果把上面例子里的context.xml改成這樣:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean name="dao" class="research.spring.beanfactory.ch3.Dao" dependency-check="objects" > </bean><bean id="database" class="research.spring.beanfactory.ch3.Database"></bean></beans>

 Spring將不會(huì )拋出異常,因為objects只對依賴(lài)的對象進(jìn)行檢查。
 
dependency-check在Spring中又以下的限制:
 
  1.  不能對構造函數中的參數進(jìn)行檢查。
  2.  即使屬性中有默認值,只要包含了set方法,那么dependency-check仍然需要檢查Spring中是否配置了這個(gè)屬性。
 
package research.spring.beanfactory.ch3;public class Dao {private Database database;private String name="chenjie";//dependency-check仍然會(huì )檢查這個(gè)屬性是否配置注入public void setName(String name) {this.name = name;}public void setDatabase(Database database) {this.database = database;}}
即使Dao設置里name得默認值,但是只要有setName方法,dependency-check仍然會(huì )判斷是否在配置文件中設置了setName對應的注入。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Spring入門(mén)經(jīng)典一
詳解Spring的配置文件
Spring對IBatis的整合
Struts與Spring整合方法
spring的InitializingBean的afterPropertiesSet方法和init-method配置的區別聯(lián)系
springLookup方法注入
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久