问题描述

image.png

“Error creating bean with name 'userDao': Unsatisfied dependency expressed through field 'jdbcTemplate'”

形似: Error creating bean with name “xxx”: unsatisfied dependency expressed throuh field “xxxx”

image.png

image.png

⚠️ 错误状态下的 userDaojdbcTemplate下是有红线报错的!

错误分析

上述表明: 没有创建 userDao的 bean,不满足 依赖字段“jbdcTemplate”

没有设置 注解扫描器,则 扫描包时,无法注入注解到ICO容器

主要原因是 存在两个 spring配置文件,此时需要使用的 是 另一个,而另一个没有写扫描器和其他bean配置

image.png

  <!--        创建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>

image.png

总结就是 依赖 有无的问题


参考: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService

相关文章:


nathannie
15 声望1 粉丝

better and better, day by day.