文章目录

  • 记一次项目混乱引发的血案

 

记一次项目混乱引发的血案

类似外卖类型项目,有好多模块,其中api模块,admin模块,shop模块都有一个实体SysUser,
这三个实体的类路径一模一样,这是导致血案发生的根本原因。我实在搞不明白同一个类为什么要弄这么多个,根据模块依赖关系来调用不好么??????????
起因是我在实体SysUser中加了一个字段shopName,然后用mybatis多表查询(其实就是想关联查询用户的店铺名字),一直报一个there is no setter for shopName 错误,可是代码中明明加了,也检查过空格的原因,项目也clean,install过,这我就很无解了。最后我干脆不用多表查询了,直接先查询出10个用户,然后在查询这10个用户的店铺名字在设置到SysUser实体中,即user.serShopName(xxx);
这行代码执行的时候竟然报no such method,我瞬间就想:不是编译过了吗,明明可以调用到的啊。冷静下来后终于想到是类加载的原因,同一个类路径的相同全路径名的类只会加载一次,也就是说这三个模块的三个SysUser其实只有一个成功加载了,于是把这三个类都设置shopName属性解决问题。