如何解决Spring (Boot) 对包名 .model 和 .repo 有特殊处理吗?
我有一个@SpringBoottest,它自动连接一个返回@Entity 的@Repository。我没有声明特定的 ComponentScanning。
只要 Repo 位于 my.repo 包中并且实体和测试位于 my.model 包中,此操作即可
如果我将所有三个都移动到打包 my.repo 中,我会得到该模型的“非托管类型”。 如果我将所有三个都移动到打包 my.model 中,我会得到“没有符合类型的 bean”。
我知道推荐的包结构。但这不仅仅是建议吗?硬编码的包有严格的规定吗?
解决方法
只要您的 @Repository
与其他类/实体在同一个包中,它就不需要任何扫描。但是是的,如果您选择使用不同的包,您必须告诉 spring 扫描您的 @Repositoy
(ies) 特定包。所以在你的 @Configuration
类中的某个地方,使用这个:
@ComponentScan(basePackages = "someuniq.packagename.goeshere")
。
举个例子 - 比如 this。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。