Rob*_*use 5 java spring exception applicationcontext
我正在练习Spring,当我尝试实例化上下文时,我得到了一个java.lang.ExceptionInInitializerError异常.下面显示了Exception,我的代码跟随它.我从以前简化了我的实验.
例外
Oct 17, 2012 5:54:22 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@570c16b7: startup date [Wed Oct 17 17:54:22 CDT 2012]; root of context hierarchy
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:195)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:535)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at helloworld.HelloWorldTest.main(HelloWorldTest.java:13)
Caused by: java.lang.NullPointerException
at org.springframework.beans.factory.support.DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:105)
... 7 more
Run Code Online (Sandbox Code Playgroud)
我的配置XML
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:c="http://www.springframework.org/schema/c"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="messageContainer" class="helloworld.MessageContainer">
<property name="message" value="Hello World">
</property>
</bean>
<bean id="messageOutputService" class="helloworld.MessageOutputService">
</bean>
Run Code Online (Sandbox Code Playgroud)
我的考试班.
package helloworld;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class HelloWorldTest {
/**
* @param args
*/
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext("HelloWorldTest-context.xml");
MessageContainer message = context.getBean(MessageContainer.class);
MessageOutputService service = context.getBean(MessageOutputService.class);
service.outputMessageToConsole(message);
}
}
Run Code Online (Sandbox Code Playgroud)
第 17context.getBean("userRepository"行不对应于行,它对应于初始化 Spring 上下文之前的行。实际上,您还可以通过堆栈跟踪看到,它说它在ClassPathXmlApplicationContext该类的构造函数所在的第 83 行失败。
无论如何,当 Spring 由于某种原因(构造函数中的异常、资源加载问题、类加载问题等)无法创建任何 bean 时,通常会抛出此异常。我建议降低 spring 类和你自己的库的日志级别,看看下面发生了什么。
org.springframework=TRACE
com.gamemanagertest=TRACE
com.gamemanagertest=TRACE
Run Code Online (Sandbox Code Playgroud)
并且还要检查您的资源文件,如果它们产生任何错误等,您的应用程序和所有对象的构造函数是否可以访问它们。
| 归档时间: |
|
| 查看次数: |
18389 次 |
| 最近记录: |