<bean id="MyDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
<bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg value="MyDataSource"/>
</bean>
Error creating bean with name 'template' defined in class path resource [application-context.xml]: Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)
我不确定我在这里做错了什么以获得上述错误?使用正确的变量名称在属性文件中正确定义所有内容。需要检查什么?
最佳答案
改变
<bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg value="MyDataSource"/>
</bean>
到
<bean id="template" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="MyDataSource"/>
</bean>
因为你不想注入(inject) String
值你想注入(inject) referred bean
关于java - 在 spring 框架中创建名称在类路径资源 [application-context.xml] 中定义的 bean 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24311866/