我将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都试试过了,就是不行
实现ContextLoaderListener,在contextInitialized方法里面
WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
把context赋值给ApplicationContext,你在getBean()就能读取了
BeanFactory factory = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");
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...("");
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。