使用Spring出现的错误: BeanFactory not initialized or already closed - call 'refresh' before accessin
程序员文章站
2024-02-22 11:04:22
...
使用Spring出现如下错误:
严重: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
只要出现如下的错误一定是和ApplicationContext.xml(Spring的配置文件)有关的,就是其获取其配置文件出了问题。
- 1.使用此种方法可能是其配置文件名拼写错误或是没写。也就是ApplicationContext.xml(当然你也可以起其他名字)
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
- 2.让tomcat在启动时,直接通过web.xml加载ApplicationContext.xml,查看自己配的web.xml是否正确?我就是这里错误。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- 上下文参数 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- spring配置文件 -->
<param-value>classpath:AirportServlet</param-value>
</context-param>
<!-- 封装了一个监听器,加载Spring的配置 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
上一篇: 通过Java代码技巧改善性能