解决方案 »

  1.   

    这个一般都是spring配置文件或者web.xml出错了
      

  2.   

    你找下你的application.xml配置文件,看看dataSource那里如何配置的,需要更改数据库的配置?
      

  3.   

    这是applicationContext.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:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
               http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
               http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
               http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
    <!-- 读取配置文件 -->
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
    <list>
    <value>classpath*:conf/properties/jdbc.properties</value>
    <value>classpath*:conf/properties/hibernate.properties</value>
    </list>
    </property>
    </bean> <!-- 配置数据源,导入c3p0-0.9.1.2.jar -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${jdbc.driverClassName}" />
    <property name="jdbcUrl" value="${jdbc.url}" />
    <property name="user" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" /> <!--连接池中保留的最小连接数。 -->
    <property name="minPoolSize" value="5" />
    <!--连接池中保留的最大连接数。Default: 15 -->
    <property name="maxPoolSize" value="30" />
    <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
    <property name="initialPoolSize" value="10" />
    <!--最大空闲时间,600秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
    <property name="maxIdleTime" value="600" />
    <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
    <property name="acquireIncrement" value="5" />
    <property name="maxStatements" value="0" />
    </bean> <!-- 集成hibernate配置 -->
    <bean id="sessionFactory"  
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
       <property name="dataSource" ref="dataSource">  
       </property> 
    <property name="hibernateProperties" ref="hibernateProperties" />
    <property name="mappingLocations">
    <list>
    <value>classpath*:com/ldu/right/ORM/*.hbm.xml</value>
    <value>classpath*:com/ldu/core/ORM/*.hbm.xml</value>
    </list>
    </property>
    </bean> <bean name="hibernateProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="properties">
    <props>
    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
    <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
    <prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
    <prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
    <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
    <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
    <prop key="hibernate.use_sql_comments">${hibernate.use_sql_comments}</prop>
    </props>
    </property>
    </bean>
    <!-- -->
    <!-- Spring Data Access Exception Translator Defintion -->
    <bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
    <property name="dataSource">
    <ref bean="dataSource" />
    </property>
    </bean> <!-- 装配HibernateTemplate实例 -->
    <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    <property name="jdbcExceptionTranslator">
    <ref bean="jdbcExceptionTranslator" />
    </property>
    </bean>
    <!-- 定义Hibernate的事务管理器HibernateTransactionManager -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean> <!-- 配置事务的传播特性 -->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
    <tx:method name="save*" propagation="REQUIRED"  />
    <tx:method name="delete*" propagation="REQUIRED" />
    <tx:method name="update*" propagation="REQUIRED" />
    <tx:method name="*" propagation="REQUIRED" />
    </tx:attributes>
    </tx:advice> <!-- 指定哪些类的哪些方法参与事务管理 -->
    <aop:config>
    <aop:pointcut id="transactionPointcut1" expression="execution(* com.ldu.right.service.*.*(..))" />
    <aop:pointcut id="transactionPointcut2" expression="execution(* com.ldu.core.service.*.*(..))" />
    <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut1" />
    <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut2" />
    </aop:config> <!-- 开启Spring的Annotation注解处理器 -->
    <context:annotation-config />
    <!-- 开始Spring的Bean自动扫描机制来查找与管理Bean实例 -->
    <context:component-scan base-package="com.ldu.right" />
    <context:component-scan base-package="com.ldu.core" />
    </beans>
      

  4.   

    人家问你” Do you mean dataSource?"
    就是说你猜测你把大小写搞错了,这个你试过没有?
      

  5.   

    检查你classes目录下的application.xml,里面 <bean id="sessionFactory"  
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
       <property name="dataSource" ref="dataSource">  
       </property> 
            <property name="hibernateProperties" ref="hibernateProperties" />
            <property name="mappingLocations">
                <list>
                    <value>classpath*:com/ldu/right/ORM/*.hbm.xml</value>
                    <value>classpath*:com/ldu/core/ORM/*.hbm.xml</value>
                </list>
            </property>
        </bean>这一段dataSource是否是DataSource?如果是,把classes目录清空重新编译生成后再启动tomcat
      

  6.   

    整个项目全局搜索一下看有没有DataSource这个词,搜索时候不要忽略大小写
      

  7.   

    Bean property 'DataSource' is not writable or has an invalid setter method. Did you mean 'dataSource'DataSource这里的大小写感觉有问题,导致没有找到 set方法
      

  8.   

    多半是spring里的数据库信息那个bean的是dateSource  你大写了D
      

  9.   

    看看你的tomcat所用的jdk吧...
    用Eclipse搭建的话就是  window--Preference--servers--tomcat--JVM Settings
    如果是单独搭建的话:%tomcat_home%/bin/catalina.bat里
      

  10.   

    我之前也经常遇见,我是在Java Buid  Path 里解决的。看看tomcat jre 和web