William_2017
William_2017
2017-11-19 12:25

试问如何解决Failed to convert property ...

  • maven
  • mysql

错误提示:
Failed to convert property value of type 'java.lang.String' to required type 'javax.sql.DataSource' for property 'dataSource';

项目中Spring的配置文件ApplicationContext.xml配置如下:

<!--    扫描dao包,将Spring注解类自动转化为Bean ,完成Bean注入-->
<context:component-scan base-package="com.smart.dao"/>
<!--    扫描service包,将Spring注解类自动转化为Bean ,完成Bean注入-->
<context:component-scan base-package="com.smart.service"/>

<!--    定义一个DBCP实现方式的数据源-->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
      destroy-method="close"
      p:driverClassName="com.mysql.jdbc.Driver"
      p:url="jdbc:mysql://localhost:3306/sampledb"
      p:username="root"
      p:password="root"/>

<!--    定义JdbcTemplate的Bean-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource" ref="dataSource"/>
</bean>

<!--    定义DAO的Bean-->
<bean id="userDao" class="com.smart.dao.UserDao"/>
<bean id="loginLogDao" class="com.smart.dao.LoginLogDao"/>

<!--    定义Service的Bean-->
<bean id="userService" class="com.smart.service.UserService"/>

<!--    定义数据库事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
      p:dataSource="dataSource"/>
<!--    通过AOP配置事务-->
<aop:config proxy-target-class="true">
    <aop:pointcut id="serviceMethod" expression="execution(* com.smart.service..*(..)) and
                                    (@annotation(org.springframework.transaction.annotation.Transactional))"/>
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="*"/>
    </tx:attributes>
</tx:advice>

数据库相关类包也已经maven导入:
图片说明

一时找不到bug,求助!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答