当前位置: 代码迷 >> Java Web开发 >> spring初始化失败解决办法
  详细解决方案

spring初始化失败解决办法

热度:58   发布时间:2016-04-16 22:26:29.0
spring初始化失败
报错:

00:34:33,066  INFO [main] ClassPathXmlApplicationContext:513 - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@6f7ce9: startup date [Thu May 08 00:34:33 CST 2014]; root of context hierarchy
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:200)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:126)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at lee.SpringTest.main(SpringTest.java:12)
Caused by: java.lang.NullPointerException
at org.springframework.beans.factory.support.DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:109)
... 7 more



一个简单的spring.

SpringTest

package lee;

import org.crazyit.app.service.PersonService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class SpringTest {

public static void main(String [] args){
//创建Spring的ApplicationContext.
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");
//输出Spring容器
System.out.println("1");
PersonService p = ctx.getBean("personService",PersonService.class);
p.info();
}
}



PersonService

package org.crazyit.app.service;

public class PersonService {

private String name;

public void setName(String name)
{
this.name=name;
}

//测试Person类的info方法.
public void info()
{
System.out.println("此人名为:"+name);
}

}



bean.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<!-- 将PersonService类部署成Spring容器中的Bean  -->
<bean id="personService" class=" org.crazyit.app.service.PersonService">
<property name="name" value="wawa"/>
</bean>
</beans>

目录结构:
src--
     lee--SpringTest.java
     org.crazyit.app/service--PersonService.java

等大神解决,谢谢了。。

------解决方案--------------------
空指针了。看看你的 classpath 下是不是有多个 spring 配置文件
------解决方案--------------------
web.xml是怎么配置的啊
------解决方案--------------------
<bean id="personService" class=" org.crazyit.app.service.PersonService">

class里似乎多了个空格。
------解决方案--------------------
PersonService类中的name没有get 方法。。。
------解决方案--------------------
引用:
PersonService类中的name没有get 方法。。。


setter注入,只需要set方法就行,不用get方法
  相关解决方案