WEB项目:
方法1:
| 1 | ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc) | 
方法2:
| 1 | ApplicationContext ac2 = WebApplicationContextUtils.getWebApplicationContext(ServletContext sc) | 
方法3:
| 1 | 写一个工具类类继承ApplicationObjectSupport,并将这个加入到spring的容器 | 
方法4:
| 1 | 写一个工具类类继承WebApplicationObjectSupport,并将这个加入到spring的容器 | 
方法5:(推荐)
| 1 | 写一个工具类实现ApplicationContextAware接口,并将这个加入到spring的容器 | 
示例:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | importjava.util.Map;importorg.springframework.beans.BeansException;importorg.springframework.context.ApplicationContext;importorg.springframework.context.ApplicationContextAware;/** * 获取ApplicationContext和Object的工具类 * @author yzl * */@SuppressWarnings({ "rawtypes", "unchecked"})publicclassSpringContextUtils implementsApplicationContextAware {    privatestaticApplicationContext applicationContext;    publicvoidsetApplicationContext(ApplicationContext arg0)            throwsBeansException {        applicationContext = arg0;    }    /**     * 获取applicationContext对象     * @return     */    publicstaticApplicationContext getApplicationContext(){        returnapplicationContext;    }        /**     * 根据bean的id来查找对象     * @param id     * @return     */    publicstaticObject getBeanById(String id){        returnapplicationContext.getBean(id);    }        /**     * 根据bean的class来查找对象     * @param c     * @return     */    publicstaticObject getBeanByClass(Class c){        returnapplicationContext.getBean(c);    }        /**     * 根据bean的class来查找所有的对象(包括子类)     * @param c     * @return     */    publicstaticMap getBeansByClass(Class c){        returnapplicationContext.getBeansOfType(c);    }} | 
非WEB项目
| 1 | ApplicationContext ac = newFileSystemXmlApplicationContext("applicationContext.xml") | 
可选的操作方法有:
| 1 2 3 4 5 6 7 8 9 10 11 | 一:String[]   path={"WebRoot/WEB-INF/applicationContext.xml","WebRoot/WEB-INF/applicationContext_task.xml"};ApplicationContext context = newFileSystemXmlApplicationContext(path);二:String path="WebRoot/WEB-INF/applicationContext*.xml";ApplicationContext context = newFileSystemXmlApplicationContext(path);三:ApplicationContext ctx = newFileSystemXmlApplicationContext("classpath:地址");没有classpath的话就是从当前的工作目录 | 
手动获取spring的ApplicationContext和bean对象
原文:http://www.blogjava.net/youngturk/archive/2016/06/18/430958.html