影落离风

The shadow falls away from the wind

0%

springboot中抽出公共实体模型以依赖方式注入

项目使用spring boot+jpa

在公司做业务开发时,可能会建多个子项目。

而每建一个子项目都有依赖相应的实体(Entity,对应数据库中的某个表)、数据仓库(Repository)。

这些Entity、Repository基本在每个子项目都相同。

所以我就将这些Entity、Repository抽成一个依赖包,使每个子项目都依赖着这个包。

好处:维护Entity、Repository和修改某个方法就相当方便;要添加新字段也很方便,不用去每个子项目中逐个添加。

注意:因为spring boot默认扫描本包下的Entity、Repository,所以当这些在其他包时需要在启动方法处添加自定义扫描路径注解。

1
2
3
4
5
6
7
8
9
@EnableJpaAuditing
@SpringBootApplication
@EntityScan("com.cxd.repository.*.pojo.entity")
@EnableJpaRepositories(basePackages = "com.cxd.repository.*.dao.repository")
public class CxdWebApplication {
public static void main(String[] args) {
SpringApplication.run(CxdWebApplication.class, args);
}
}
1
2
@EntityScan //扫描实体所在路径
@EnableJpaRepositories //扫描Repository所在路径

项目结构

20191115181722460

依赖模型包

业务项目包

在业务项目中导入依赖模型包则可

可能会遇到的启动项目时找不到某个实体/Repository

  • 检查自己的依赖路径与注解路径是否一致
  • 先clean依赖包后,install依赖包,clean项目包,然后再启动项目
  • 多检查、多测试、多查询