本篇內(nèi)容介紹了“Spring中BeanFactory怎么獲取Java Bean”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了東昌免費建站歡迎大家使用!
1、id JavaBean在BeanFactory中的***標(biāo)識,代碼中通過BeanFactory獲取Java Bean實例時需以此作為索引名稱。
2、class Java Bean 類名
3、singleton 指定此Java Bean是否采用單例(Singleton)模式,如果設(shè)為“true”,則在BeanFactory作用范圍內(nèi),只維護(hù)此Java Bean的一個實例,代碼通過BeanFactory獲得此Java Bean實例的引用。反之,如果設(shè)為“false”,則通過BeanFactory獲取Java Bean實例時,BeanFactory每次都將創(chuàng)建一個新的實例返回。
4、init-method 初始化方法,此方法將在BeanFactory創(chuàng)建JavaBean實例之后,在向應(yīng)用層返回引用之前執(zhí)行。一般用于一些資源的初始化工作。
5、destroy-method 銷毀方法。此方法將在BeanFactory銷毀的時候執(zhí)行,一般用于資源釋放。
6、depends-on Bean依賴關(guān)系。一般情況下無需設(shè)定。Spring會根據(jù)情況組織各個依賴關(guān)系的構(gòu)建工作(這里示例中的depends-on屬性非必須)。只有某些特殊情況下,如JavaBean中的某些靜態(tài)變量需要進(jìn)行初始化(這是一種BadSmell,應(yīng)該在設(shè)計上應(yīng)該避免)。通過depends-on指定其依賴關(guān)系可保證在此Bean加載之前,首先對depends-on所指定的資源進(jìn)行加載。
7、 通過節(jié)點可指定屬性值。BeanFactory將自動根據(jù)Java Bean對應(yīng)的屬性類型加以匹配。下面的”desc”屬性提供了一個null值的設(shè)定示例。注意代表一個空字符串,如果需要將屬性值設(shè)定為null,必須使用節(jié)點。
8、指定了屬性對BeanFactory中其他Bean的引用關(guān)系。示例中,TheAction的dataSource屬性引用了id為dataSource 的Bean。BeanFactory將在運行期創(chuàng)建dataSource bean實例,并將其引用傳入TheAction Bean的dataSource屬性。
下面的代碼演示了如何通過BeanFactory獲取Java Bean實例: InputStream is = new FileInputStream("bean.xml"); XmlBeanFactory factory = new XmlBeanFactory(is); Action action = (Action) factory.getBean("TheAction"); 此時我們獲得的Action實例,由BeanFactory進(jìn)行加載,并根據(jù)配置文件進(jìn)行了初始化和屬性設(shè)定。
“Spring中BeanFactory怎么獲取Java Bean”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!