我的道歉实施;
\\here are imports...
@Repository
public class CompanyDaoImp extends JdbcDaoSupport implements CompanyDao {
private static final String INSERTCOMPANY = "INSERT INTO b_company"
+ "(NAME)VALUES(?)";
这是我的豆子;
<?xml version=".........
<!-- TODO add the component-scan and annotation-config elements -->
<context:annotation-config/>
<context:component-scan base-package="com.some.company"/>
<bean id="companyAppDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/companyapp"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
</beans>
我无法理解为什么我继续接受例外; .......调用init方法失败;嵌套异常是java.lang.IllegalArgumentException:'dataSource'或'jdbcTemplate'是必需的.........
答案 0 :(得分:0)
JdbcDaoSupport
没有任何注释可以自动注入DataSource
。您必须覆盖setDataSource
方法,如下所示:
<bean name="companyDaoImp" class="...CompanyDaoImp">
<property name="dataSource" ref="companyAppDataSource" />
</bean>
Spring无法自动注入DataSource
,因为你可能有多个数据源,在这种情况下,有必要告诉Spring你需要哪一个。