DEBUG:
Cannot resolve reference to bean 'stockDao' while setting bean property 'stockDao'
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'bankUserDao' 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.CannotLoadBeanClassException: Cannot find class [com.mchange.v2.c3p0.ComboPooledDataSource] for bean with name 'dataSource' defined in class path resource [applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.mchange.v2.c3p0.ComboPooledDataSource
配置文件信息:
applicationContext.xml
配置思路:
stockService-->bankUserDao+stockDao-->dataSource 通过dbcp的连接池来连接数据库
完整的更改错误后的配置:
<!-- mysql依赖 --> <context:property-placeholder location="classpath:jdbc.properties" /> <bean id="stockService" class="com.java.service.impl.StockServiceImpl"> <property name="bankUserDao" ref="bankUserDao" /> <property name="stockDao" ref="stockDao" /> </bean> <bean id="bankUserDao" class="com.java.dao.impl.BankUserDaoImpl"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="stockDao" class="com.java.dao.impl.StockDaoImpl"> <property name="dataSource" ref="dataSource" /> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClass}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean>
错误的地方:
之前使用C3P0作为连接池,一直报 ‘无法找到c3p0’ ‘无法创建stockService’ 错误
后面更改为DBCP连接后,错误解决。
错误的连接配置部分:(其他地方无错)
<!-- 使用c3p0连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driverClass}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean>
原因: