????? 當(dāng)為遺留系統(tǒng)加入spring時(shí),經(jīng)典問題就是遺留系統(tǒng)需要引用spring管理的bean。幸好spring有機(jī)制可以處理這些。
建一個(gè)類實(shí)現(xiàn)ApplicationContextAware接口,有一個(gè)引用ApplicationContext的靜態(tài)成員,然后,遺留系統(tǒng)需要引用spring管理的bean的地方,使用這個(gè)類。
1.比如:我這里建一個(gè)SpringContext類
import ?org.springframework.beans.BeansException;
import ?org.springframework.context.ApplicationContext;
import ?org.springframework.context.ApplicationContextAware;
/**
?*?此類可以取得Spring的上下文.
?*?Spring?使new方法創(chuàng)建的對(duì)象可以引用spring管理的bean.
?*?2007-10-18?上午11:12:33
?*? @author ?chenlb
? */
public ? class ?SpringContext? implements ?ApplicationContextAware?{
???? protected ? static ?ApplicationContext?context;
????
???? public ? void ?setApplicationContext(ApplicationContext?applicationContext)? throws ?BeansException?{
????????context? = ?applicationContext;
????}
???? public ? static ?ApplicationContext?getContext()?{
???????? return ?context;
????}
}
2.然后在spring配置文件里加
3.其它類中引用

4.如果老是寫SpringContext.getContext().getBean("...");麻煩,可以建一個(gè)工廠類來返回你要的bean
public ? class ?MyServerFactory?{
???? public ? static ?MyBean1?getMyBean1()?{
???????? return ?(MyBean1)?SpringContext.getContext().getBean( " myBean1 " );
????}
????
}
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
