使用JavaConfig时,我在定位@Spring Repository的bean时遇到了问题。
该存储库接口定义如下:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
}
配置定义如下:
@Configuration
@ComponentScan("com.example")
@EnableAutoConfiguration
@EnableJpaRepositories("com.example")
public class SampleApplication extends SpringBootServletInitializer {
...
包的结构如下:
com.example
configuration
SampleApplication
repository
UserRepository
从日志文件中我看到仓库(Repository)被认为是一个bean定义的候选对象,但是:
ClassPathBeanDefinitionScanner | Ignored because not a concrete top-level class:
有趣的事实
如果我将SampleApplication类移动到com.example
包中,则一切都可以正常工作。
你有什么想法,我错过了什么吗?