以下是异常:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [beans-config.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessResourceFailureException
Caused by: java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessResourceFailureException
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getDeclaredConstructor(Unknown Source)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:60)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:45)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:739)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:727)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:390)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
at onlyfun.caterpillar.SpringDAODemo.main(SpringDAODemo.java:10)数据库是Mysql,我不知道数据库驱动程序放在哪里,所以没有加。
注意,不是Web工程。是一般的Java工程,运用Spring框架连接数据库。

解决方案 »

  1.   

    具体的 main方法是怎么写的? 贴出来看看
      

  2.   

    package onlyfun.caterpillar;import org.springframework.context.ApplicationContext;
    import org.springframework.context.
                  support.ClassPathXmlApplicationContext;public class SpringDAODemo {
        public static void main(String[] args) {
            ApplicationContext context = 
                new ClassPathXmlApplicationContext(
                        "beans-config.xml");
            
            User user = new User();
            
            user.setName("caterpillar");
            user.setAge(new Integer(30));
            
            IUserDAO userDAO = 
                (IUserDAO) context.getBean("userDAO");
            
            userDAO.insert(user);
            
            user = userDAO.find(new Integer(1));
            
            System.out.println("name: " + user.getName());
        }
    }
    <?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
      
        <bean id="dataSource" 
              class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
            <property name="driverClassName" 
                      value="com.mysql.jdbc.Driver"/> 
            <property name="url"
                      value="jdbc:mysql://localhost:3306/demo"/>
            <property name="username" value="root"/> 
            <property name="password" value="root"/> 
        </bean> 
        
        <bean id="userDAO" 
              class="onlyfun.caterpillar.UserDAO">
            <property name="dataSource" ref="dataSource"/>
        </bean>
    </beans>
      

  3.   

    Caused by: java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessResourceFailureException 
    很明显,你少包,你确定SPRING的包都全加了吗?
      

  4.   

    你的所有spring JAR包都导完了吗? MyEclipse里面自动添加spring时,有的JAR包不会导进去的
      

  5.   

    绝对少了包,,建议你把ssh的包都整合在一起,要用时就会很方便
      

  6.   

    楼主自己都说了 自己没有加数据库驱动包 所以datasource加载出错