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>
原因: