我正在使用spring-boot开发一个简单的CRUD应用程序。
我已完成大部分项目,但在尝试运行项目时遇到此错误。
说明
com.application.crud.GreetingController中的字段userDBOP需要a bean类型' com.application.crud.myoperation.JdbcUserDAO'可能 找不到。
动作:
考虑定义类型的bean ' com.application.crud.myoperation.JdbcUserDAO'在你的配置中。
在IntelliJ中,当我将鼠标悬停在导致错误的行上时,会显示以下消息
"无法自动装配。没有'JdbcUserDAO'的豆子找到类型。
即使我已经在我的' Beans.xml'文件(位于' src'目录下面:
<bean id="customerDAO" class="com.application.crud.myoperation.JdbcUserDAO">
<property name="dataSource" ref="dataSource" />
</bean>
有谁能告诉我如何修复此错误?
答案 0 :(得分:2)
这似乎是使用现有Spring Context配置Spring Boot应用程序的问题。 Spring documentation中有一节介绍此内容。
默认情况下,您需要使用@ImportResource
注释指定应用程序上下文的位置。一个例子是:
@SpringBootApplication
@ImportResource("applicationContext.xml")
public class ExampleApplication {
public static void main(String[] args) throws Exception {
SpringApplication.run(ExampleApplication.class, args);
}
}
注意如果文件位于类路径的其他位置,那么您需要正确引用该文件以便弹出它(例如@ImportResource({"classpath*:applicationContext.xml"})
)