Spring(Boot)对包名.model和.repo有特殊处理吗



我有一个@SpringBootTest,它自动连接一个返回@Entity的@Repository。我没有声明特定的ComponentScanning。

只要Repo在包my.Repo中,实体和测试在包my.model 中,这就有效

如果我把这三个都移动到包装我的.repo;不是托管类型";对于模型。如果我把这三个都移动到打包my.model;没有类型为";回购。

我知道推荐的包装结构。但这不仅仅是一个建议吗?对硬编码的包裹有严格的规定吗?

只要您的@Repository与其他类/实体在同一个包中,它就不需要任何扫描。但是,是的,如果您选择使用不同的包,您必须告诉spring扫描您的特定包以查找@Repositoy。因此,在@Configuration类的某个地方,使用以下内容:

@ComponentScan(basePackages = "someuniq.packagename.goeshere")

举个例子,像这样。

最新更新