Spring Boot不扫描软件包

时间:2018-06-21 13:32:52

标签: java spring hibernate spring-boot jpa

这是我的项目结构:structure

每当我尝试运行应用程序时,它都会因以下错误而失败:

com.klag.forum.Service.SectionServiceimpl中的field sectionDAO要求找到一个类型为'com.klag.forum.dao.SectionDAO'的bean。 行动: 考虑在您的配置中定义类型为“ com.klag.forum.dao.SectionDAO”的bean。

我发现此问题的解决方案是使用com.klag.forum.dao添加ComponentScan。

它一直有效,直到我发现扫描控制器也有问题。 因此,我尝试添加另一条路径来扫描控制器,但随后错误再次出现。它仅适用于以下配置:

@SpringBootApplication
@ComponentScan("com.klag.forum.dao")
@EnableJpaRepositories("com.klag.forum.dao")
@EntityScan("com.klag.forum.Entity")

添加另一条这样的路径后它不起作用:

@SpringBootApplication
@ComponentScan({"com.klag.forum.dao",com.klagu.forum.controller})
@EnableJpaRepositories("com.klag.forum.dao")
@EntityScan("com.klag.forum.Entity")

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

只需将@SpringBootApplication添加到您的ForumApplication类中即可。

子包中的所有注释都将被扫描

答案 1 :(得分:0)

此问题背后的原因是在dao中缺少@Repository批注。 谢谢您的帮助。