java文件如何读取web-inf下的spring的xml配置文件??:报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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 840 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
    赞同 展开评论 打赏
问答排行榜
最热
最新
相关电子书
更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧
立即下载
微服务架构模式与原理Spring Cloud开发实战
立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库
立即下载