美文网首页
Spring Cloud微服务项目,基于 Spring Data

Spring Cloud微服务项目,基于 Spring Data

作者: 南湘嘉荣 | 来源:发表于2021-05-24 09:39 被阅读0次

在基于Spring Cloud构建微服务框架时,往往持久化层的实体类是各个微应用都需要依赖的。所以,将这部分抽取出来作为单独一个模块让需要的微应用引入,是常见的一种做法。

像这样:

<dependency>
            <groupId>com.sensible</groupId>
            <artifactId>spring-common</artifactId>
            <version>1.0.0</version>
            <scope>compile</scope>
</dependency>

但是,这样可能我们会遇到一点麻烦,当我们启动服务的时候出现了问题:

java.lang.IllegalArgumentException: Not a managed type

提示信息显示:对应的实体不是托管的类。

先抽支烟,压压惊。

这个错误提示,是不是说明我们的 Spring 没有找到这个类,所以无法管理这个类。这么一来,问题就是出在组件扫描。

我们知道,Spring Boot 项目,它默认的扫描机制是从启动类所在的包开始,如果在公共模块中JPA实体所在的包跟依赖公共模块的微应用模块启动类所在的包不同,则会报这个错。

解决方案

在启动类添加注解,指定实体扫描路径:

@EntityScan("com.xxx.entity")

相关文章

网友评论

      本文标题:Spring Cloud微服务项目,基于 Spring Data

      本文链接:https://www.haomeiwen.com/subject/baotsltx.html