Spring獲取管理對象常用方法詳解
網(wǎng)上方法很多種,我說一些J2EE開發(fā)中會用到的方法。
第一種:
直接初始化Spring容器,獲得對象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
applicationContext.getBean("beanId");
關(guān)于配置文件的讀取也有好多種,我用到的是配置文件在SRC下面。
這樣會初始化Spring容器,然后再得到配置的對象。
第二種:
通過環(huán)境來獲得
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
ac1.getBean("beanId");
ac2.getBean("beanId");
區(qū)別是前者會拋異常,而后者沒有時返回NULL
第三種:
實現(xiàn)ApplicationContextAware接口
下面給出實現(xiàn)類,這也是我用的方法
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* @說明 獲得Spring配置中的某個對象
* @author 崔素強
* @see
*/
public class SpringFactory implements ApplicationContextAware {
private static ApplicationContext context;
@SuppressWarnings("static-access")
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
this.context = applicationContext;
}
public static Object getObject(String id) {
Object object = null;
object = context.getBean(id);
return object;
}
}
這是WEB開發(fā)中可以用到的集中方法,當(dāng)然還有其他方法,歡迎大家積極提供!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java static方法用法實戰(zhàn)案例總結(jié)
這篇文章主要介紹了Java static方法用法,結(jié)合具體案例形式總結(jié)分析了java static方法功能、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下2019-09-09
idea兩側(cè)的maven-project-structure圖標不見了如何解決
這篇文章主要介紹了如何解決idea兩側(cè)的maven-project-structure圖標不見了問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
Spring Boot創(chuàng)建可執(zhí)行jar包的實例教程
這篇文章主要介紹了Spring Boot創(chuàng)建可執(zhí)行jar包的實例教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Java使用Callable和Future創(chuàng)建線程操作示例
這篇文章主要介紹了Java使用Callable和Future創(chuàng)建線程操作,結(jié)合實例形式分析了java使用Callable接口和Future類創(chuàng)建線程的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2019-09-09
Java中將UUID存儲為Base64字符串的方法實現(xiàn)
使用Base64編碼來對UUID存儲在一些特定的場合被廣泛的使用,本文主要介紹了Java中將UUID存儲為Base64字符串的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-04-04
SpringBoot項目打包成jar后獲取classpath下文件失敗的解決
這篇文章主要介紹了SpringBoot項目打包成jar后獲取classpath下文件失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決
原來win10電腦上安裝的是jdk8的版本,因某些原因,現(xiàn)在想換成jdk7的版本,修改環(huán)境變量后,在cmd中執(zhí)行 [java -version]命令,顯示的是7的版本,遇到這樣的問題如何解決呢?下面小編給大家分享IntelliJ IDEA cmd和idea Terminal查看java版本不一致的解決方案,一起看看吧2023-09-09
Sharding-Jdbc 自定義復(fù)合分片的實現(xiàn)(分庫分表)
本文主要介紹了Sharding-Jdbc 自定義復(fù)合分片的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07

