欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Spring在代碼中如何獲取bean

這篇文章給大家分享的是有關(guān)Spring在代碼中如何獲取bean的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

在蘭州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站制作,蘭州網(wǎng)站建設(shè)費(fèi)用合理。

方法如下

方法一:通過讀取XML文件反射生成對(duì)象  方法二:通過Spring提供的utils類獲取ApplicationContext對(duì)象  方法三:繼承自抽象類ApplicationObjectSupport  方法四:繼承自抽象類WebApplicationObjectSupport  方法五:實(shí)現(xiàn)接口ApplicationContextAware  方法六:通過Spring提供的ContextLoader

獲取spring中bean的方式總結(jié):

方法一:通過讀取XML文件反射生成對(duì)象

ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");ac.getBean("userService");//比如:<bean id="userService" class="com.cloud.service.impl.UserServiceImpl"></bean>

說明:這樣的方式適用于採用Spring框架的獨(dú)立應(yīng)用程序,須要程序通過配置文件手工初始化Spring的情況。

方法二:通過Spring提供的工具類獲取ApplicationContext對(duì)象

ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);ac1.getBean("beanId");ac2.getBean("beanId");

說明:這樣的方式適合于Spring框架的B/S系統(tǒng),通過ServletContext對(duì)象獲取ApplicationContext對(duì)象。然后在通過它獲取須要的類實(shí)例。上面兩個(gè)工具方式的差別是,前者在獲取失敗時(shí)拋出異常。后者返回null。

方法三:繼承自抽象類ApplicationObjectSupport

說明:抽象類ApplicationObjectSupport提供getApplicationContext()方法。能夠方便的獲取ApplicationContext。

Spring初始化時(shí)。會(huì)通過該抽象類的setApplicationContext(ApplicationContext context)方法將ApplicationContext 對(duì)象注入。

方法四:繼承自抽象類WebApplicationObjectSupport

說明:類似上面方法。調(diào)用getWebApplicationContext()獲取WebApplicationContext

方法五:實(shí)現(xiàn)接口ApplicationContextAware

說明:實(shí)現(xiàn)該接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 對(duì)象。Spring初始化時(shí),會(huì)通過該方法將ApplicationContext對(duì)象注入。

下面是實(shí)現(xiàn)ApplicationContextAware接口方式的代碼,前面兩種方法類似:

public class SpringContextUtil implements ApplicationContextAware {    // Spring應(yīng)用上下文環(huán)境   private static ApplicationContext applicationContext;    /**    * 實(shí)現(xiàn)ApplicationContextAware接口的回調(diào)方法。設(shè)置上下文環(huán)境    *    * @param applicationContext    */   public void setApplicationContext(ApplicationContext applicationContext) {     SpringContextUtil.applicationContext = applicationContext;   }    /**    * @return ApplicationContext    */   public static ApplicationContext getApplicationContext() {     return applicationContext;   }    /**    * 獲取對(duì)象    *    * @param name    * @return Object   * @throws BeansException    */   public static Object getBean(String name) throws BeansException {     return applicationContext.getBean(name);   } }

盡管,spring提供的后三種方法能夠?qū)嵢缃衿胀ǖ念愔欣^承或?qū)崿F(xiàn)對(duì)應(yīng)的類或接口來獲取spring 的ApplicationContext對(duì)象,可是在使用是一定要注意實(shí)現(xiàn)了這些類或接口的普通java類一定要在Spring 的配置文件applicationContext.xml文件里進(jìn)行配置。否則獲取的ApplicationContext對(duì)象將為null。

方法六:通過Spring提供的ContextLoader

WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();wac.getBean(beanID);

最后提供一種不依賴于servlet,不須要注入的方式??墒琼氁⒁庖稽c(diǎn),在server啟動(dòng)時(shí)。Spring容器初始化時(shí),不能通過下面方法獲取Spring 容器,細(xì)節(jié)能夠查看spring源代碼org.springframework.web.context.ContextLoader。

JUNIT測試時(shí)ContextLoader.getCurrentWebApplicationContext()=NULL

在JUNIT測試方法中加入以下代碼,正式環(huán)境不用

MockServletContext sc = new MockServletContext("");sc.addInitParameter(ContextLoader.CONFIG_LOCATION_PARAM, "/applicationContext.xml");ServletContextListener listener = new ContextLoaderListener();ServletContextEvent event = new ServletContextEvent(sc);listener.contextInitialized(event);

感謝各位的閱讀!關(guān)于“Spring在代碼中如何獲取bean”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

分享文章:Spring在代碼中如何獲取bean
文章來源:http://aaarwkj.com/article40/pccheo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站服務(wù)器托管、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
国产成人免费视频一区| 91人妻一区二区三区久久| 欧美日韩免费一区二三区| 人妻少妇中文字幕在线播放| 91在线播放国产视频| 黄色录像日本黄色录像| heyzo高清中文字幕在线| 蜜臀视频一区二区在线播放| 中文字幕九七精品乱码| 国产精品日本欧美一区二区| 亚洲最大黄色免费在线观看| 熟妇人妻精品一区二区三区颏| 日韩免费av在线网站| 亚洲免费精品一区二区三区四区| 国产亚洲加勒比久久精品| 欧美日韩激情中文字幕| 亚洲午夜福利理论片在线| 色综合色综合色综合色| 国产一区二区三区本色| 中文字幕日韩欧美资源站| 欧美精品蜜桃激情一区久久| 国产美女冒白浆视频免费| 久久综合婷婷亚洲色图 | 国产成人大片一区二区三区| 国产精品国产成人免费看| 国产一区二区欧美久久| 国产一区二区爽爽爽视频| 国产姐弟操大率悠荡笕| 欧美日韩国产一区在线观看| 午夜在线精品福利视频| 欧美亚洲国语精品一区二区| 日本人妻中文字幕一区| 国产乱码精品一区二区蜜臀| 国产极品嫩模91精品| 亚洲熟妇精品一区二区三区| 丰满人妻中出av在线| 日韩经典三级精品自拍| 国产一区二区主播不卡| 人妻中字幕出轨中文字幕| 亚洲精品午夜在线观看| 韩国三级在线视频网站|