很奇怪 对照着视频打了3次 老是提示这个错误 给大家看一下SPRING中配置信息吧小弟我分都贡献完了 等晚上有分在加上 麻烦大家先给看看谢谢了
<?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="sessionFactory" class="com.hibernate.factory.SessionFactory"></bean>

<bean id="sessionFactory1" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" value="dataSource"></property>
<property name="mappingResources">
<list>
<value>com/hibernate/beans/Products.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
</props>
</property>
</bean>

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
</property>
<property name="url"
value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu">
</property>
<property name="username" value="sa"></property>
<property name="password" value="123456"></property>
</bean></beans>
他 提供的SESSIONFACTORY不好用所以我还是写了个SESSIONFACTORY
主要是 一运行就报错 信息是:log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory1' defined in class path resource [ApplicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [javax.sql.DataSource] for property 'dataSource'; nested exception is java.lang.IllegalArgumentException: No matching editors or conversion strategy found
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessException details (1) are:
PropertyAccessException 1:
org.springframework.beans.TypeMismatchException: Failed to convert property value of type [java.lang.String] to required type [javax.sql.DataSource] for property 'dataSource'; nested exception is java.lang.IllegalArgumentException: No matching editors or conversion strategy found
Caused by: java.lang.IllegalArgumentException: No matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:212)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:127)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:775)
at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:608)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValue(AbstractPropertyAccessor.java:49)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:74)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:57)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:970)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:92)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:68)
at com.hibernate.Dao.impl.ProductsDaoImpl.<init>(ProductsDaoImpl.java:14)
at com.hibernate.test.test.main(test.java:11)
XML里 设置我检查过好多遍了没有错误 可是为什么老报错 是不是我必须要使用他提供的SESSIONFACTORY啊。。麻烦告诉我一下 这个问题的解决办法 谢谢了

解决方案 »

  1.   

    <property name="dataSource" value="dataSource"> </property> dataSource属性的类型javax.sql.DataSource,而你给传了个字符串进去,不对吧这么写:
    <property name="dataSource">
        <ref local="dataSource" />
    </property>
      

  2.   

    2楼的朋友我照你说的做了
    <bean id="sessionFactory" class="com.hibernate.factory.SessionFactory"></bean>

    <bean id="sessionFactory1" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="dataSource" /> 

    </property>
    <property name="mappingResources">
    <list>
    <value>com/hibernate/beans/Products.hbm.xml</value>
    </list>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
    </props>
    </property>
    </bean>结果还是出错误
    log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory1' defined in class path resource [ApplicationContext.xml]: Cannot resolve reference to bean 'dataSource' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [ApplicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [ApplicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    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:59)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:52)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:639)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:625)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:246)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:128)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:955)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:729)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:416)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:242)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:156)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:348)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:92)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:77)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:68)
    at com.hibernate.Dao.impl.ProductsDaoImpl.<init>(ProductsDaoImpl.java:14)
    at com.hibernate.test.test.main(test.java:11)
      

  3.   

    java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
    看一下是不是这个包没有导入commons-pool-1.2.jar
      

  4.   

    java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool 怀疑是楼主的jar包没有加全
      

  5.   

    现在包JAR上去了 结果异常变的更简单了 最后一步加油
    异常信息好像是说找不到 HIBERNATE.CFG.XML这个配置文件 这个是我把他配到了SPRING里面去了  然后把以前的HIBERNATE给删掉了
    应该还是SPRING里 配置HIBERNATE.CFG.XML的时候除问题的 在来看一下SPRING的配置文件
    <?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="sessionFactory" class="com.hibernate.factory.SessionFactory"></bean>

    <bean id="sessionFactory1" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="dataSource" /> 

    </property>
    <property name="mappingResources">
    <list>
    <value>com/hibernate/beans/Products.hbm.xml</value>
    </list>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
    </props>
    </property>
    </bean>

    <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName"
    value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
    </property>
    <property name="url"
    value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=stu">
    </property>
    <property name="username" value="sa"></property>
    <property name="password" value="123456"></property>
    </bean></beans>错误信息是:
    log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
    log4j:WARN Please initialize the log4j system properly.
    Exception in thread "main" org.hibernate.HibernateException: /hibernate.cfg.xml not found
    at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
    at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1287)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1309)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1296)
    at com.hibernate.factory.SessionFactory.getSession(SessionFactory.java:12)
    at com.hibernate.Dao.impl.ProductsDaoImpl.<init>(ProductsDaoImpl.java:16)
    at com.hibernate.test.test.main(test.java:11)
    谢谢啦 麻烦解答
      

  6.   

    CollectionFactory
    hibernate.cfg.xml not found 
      少包少配置
      

  7.   

    少什么包 XML少什么配置???
      

  8.   

    看看有没有hibernate.cfg.xml这个文件
      

  9.   

    <bean id="sessionFactory" class="com.hibernate.factory.SessionFactory"> </bean> 
    上面的这句如果不用就去掉,hibernate的SessionFactory在初始化的时候要去找hibernate.cfg.xml而你下面的
    <bean id="sessionFactory1" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="dataSource" /> 
    ....已经完成了初始化Hibernate的SessionFactory的工作了
      

  10.   

    不是的 是这样的 SESSIONFACTORY我 还是想用自己的 我现在就是想把HIBERNATE的配置文件加载进来 我已经把以前的 HIBERNATE.CFG.XML删掉了 
    现在我在实现类里用得还是我自己定义的SESSIONFACTORY 但是就是老有错误 
    我不想用他自己带的SESSIONFACTORY因为他那个用起来不爽  因为我以前写HIBERNATE都是 SESSION.SAVE 事务也是一样 
    但是现在他那个 我也用了  老提示错误 所以我想自己定义一个SESSION可是 没想到又遇到这个问题 是不是加载了HIBERNATE的配置文件 就必须使用SPRING里的SESSIONFACTORY啊麻烦快来个人解决一下吧 我搞了1个星期了
      

  11.   

    我不想用他自己带的SESSIONFACTORY因为他那个用起来不爽  因为我以前写HIBERNATE都是 SESSION.SAVE 事务也是一样 
    但是现在他那个 我也用了  老提示错误
    从这里看出来你的配置有问题,或者你的代码写的有问题,你想的到session,在spring里很简单,只需要这么做
    Session session = SessionFactoryUtils.getSession(getSessionFactory(), false);
    其中SessionFactoryUtils在org.springframework.orm.hibernate3下
      

  12.   

    log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory). 
    的错误是你的log4j.properties没有加上,把hibernate的jar包解压,在etc下有个log4j.properties放到src下面(会自动复制到classess目录下的)
    failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool 
    自己下个commons-dbcp-x.jar下载然后放到/WEB-INF/lib下