问题描述
“Error creating bean with name 'userDao': Unsatisfied dependency expressed through field 'jdbcTemplate'”
形似: Error creating bean with name “xxx”: unsatisfied dependency expressed throuh field “xxxx”
⚠️ 错误状态下的 userDao
和 jdbcTemplate
下是有红线报错的!
错误分析
上述表明: 没有创建 userDao的 bean,不满足 依赖字段“jbdcTemplate”
没有设置 注解扫描器,则 扫描包时,无法注入注解到ICO容器
主要原因是 存在两个 spring配置文件,此时需要使用的 是 另一个,而另一个没有写扫描器和其他bean配置
<!-- 创建dataSource数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"/>
<!-- 创建spring对jdbc支持的工具类 jdbcTemplate-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
⚠️ UserDao是jdbcTemplate实现的,如果没有写上述代码,就没有dataSource和 jdbcTemplate,所以 userDao就没有
💁♂️: 这是使用spring来完成jdbc的配置,注入的方式 而不是 使用java原生的连接jdbc
问题解决
添加相关 依赖
<!-- 创建dataSource数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"/>
<!-- 创建spring对jdbc支持的工具类 jdbcTemplate-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
总结就是 依赖 有无的问题
相关文章:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。