开发者社区> 问答> 正文

java文件如何读取web-inf下的spring的xml配置文件??:报错

我将spring的XML放到了web-inf下,但是用java文件读取的时调用getBean方法,会报java.lang.IllegalStateException: BeanFactory not initialized or already closed这样的异常,可是把xml文件放到src下就没问题,但是项目要求必须得把xml文件放到web-inf下,请问该如何读取web-inf下的spring配置文件?

classpathxmlapplicationcontext,FileSystemXmlApplicationContext,XmlBeanFactory,XmlWebApplicationContext都试试过了,就是不行

展开
收起
kun坤 2020-06-07 00:38:04 888 0
1 条回答
写回答
取消 提交回答
  • 实现ContextLoaderListener,在contextInitialized方法里面

    WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext()); 

    把context赋值给ApplicationContext,你在getBean()就能读取了



    ######用 FileSystemXmlApplicationContext,把你的 容器初始化的配置贴出来。######
    BeanFactory factory = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");



    试试这个###### web项目的话,在web.xml中加上
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </context-param>
    ######

    web.xml中可以类似这样配置:

    <context-param> 
        <!-- Context Configuration locations for Spring XML files --> 
         <param-name>contextConfigLocation</param-name> 
         <param-value> 
            ./WEB-INF/applicationContext.xml
         </param-value> 
    </context-param>



    ######

    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    context .getb...("");

    2020-06-07 00:38:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载