我是看马士兵的视频,他用的是Spring2.5
我用的是Spring 3.2.4.加入jar包后,用Junit写了测试程序 
public class UserServiceTest {
@Test
public void testAdd() throws Exception{
BeanFactory applicationContext=new ClassPathXmlApplicationContext();
UserService service= (UserService)applicationContext.getBean("userService");
    User u= new User();
    u.setUsername("zhangsan");
    u.setPassword("123456");
    service.add(u);
   
 }
运行时出错java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:164)
at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:220)
at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:81)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:50)
at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:53)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:62)
at com.test.service.UserServiceTest.testAdd(UserServiceTest.java:13)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
但我已经引入了commons-logging.jarSpring jar

解决方案 »

  1.   

    Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:194)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:127)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.test.service.UserServiceTest.testAdd(UserServiceTest.java:18)
    at com.test.service.UserServiceTest.main(UserServiceTest.java:13)
    Caused by: java.lang.NullPointerException
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:107)
    ... 8 more加入commons-logging后又出现以上问题
    ~~~~~~~~~~~~
    急求高手们解决问题
      

  2.   

    2.5和3.2差别有点大,首先spring2.5中的一个spring3.jar里面包括了所有的CLASS文件,而到了spring3后这个包就不再提供了。所以我建议,你自己一个个的加吧,别看视频怎么加的。首先,spring-core加上,bean加上,aop加上,annotation加上,其他的看异常来加,少什么包就加什么包
      

  3.   

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    </dependency>
      

  4.   

    我是刚自学的,还看不懂这是什么,写在哪个配置文件上呢你还是忽略这个吧这个是maven上的 你就看看用的啥jar包吧
      

  5.   

    我是刚自学的,还看不懂这是什么,写在哪个配置文件上呢这是meven,我建议初学者还是不要用这个,当然学学还是很好的,不过你初学spring还是手动配吧,错误肯定一大堆,一句话:要有耐心。这样对于你以后理解也有好处
      

  6.   

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    maven先不用啦,,Spring3.2.4就报初始化错误但导入Spring2.5就正常了。2.5与3.2有冲突吗
      

  7.   

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    maven先不用啦,,Spring3.2.4就报初始化错误但导入Spring2.5就正常了。2.5与3.2有冲突吗版本不一样,应该有的,最好别混着用