
***************************
APPLICATION FAILED TO START
***************************
Description:
Field productDao in com.yj.inventorymanagement.service.impl.ProductServiceImpl required a bean of type 'com.yj.inventorymanagement.dao.ProductDao' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.yj.inventorymanagement.dao.ProductDao' in your configuration.
错误描述:项目里明明已经写了dao类,却还是提示xxxDao类notFound。
原因:没有注入dao类。
解决方法:可以在这个dao类上加上@Mapper注解,也可以在整个项目的启动类xxxApplication加上@MapperScan(basePackages="dao类所在的包路径"),推荐第二种方式注入dao,因为项目的dao类不止一个,这样就不用一个一个dao文件去加@Mapper,可以做到一劳永逸。
@SpringBootApplication
@MapperScan(basePackages = "com.yj.inventorymanagement.dao")
public class InventoryManagementApplication {
public static void main(String[] args) {
SpringApplication.run(InventoryManagementApplication.class, args);
}
}
文章描述了一个SpringBoot应用程序在启动时遇到的问题,即无法找到ProductDao类型的bean。解决方案是使用@Mapper注解标记DAO类,或者在启动类上使用@MapperScan注解指定包含DAO类的包,以进行自动扫描和注入。推荐使用@MapperScan,特别是当项目中有多个DAO类时。

3827

被折叠的 条评论
为什么被折叠?



