为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 spring-boot 的微服务中创建超级/基础/父类——在子类中扩展该类

如何在 spring-boot 的微服务中创建超级/基础/父类——在子类中扩展该类

开满天机 2022-12-28 11:06:40
1) 我有 3 个微服务项目(Country-micro、State-micro 和 City-micro),每个微服务分别定义了 3 个实体 Country、State 和 City。请注意,所有 3 个微服务在 pom.xml 中具有相同的组 ID所有实体都有共同的 4 个字段ID创建日期修改日期活跃如何为上述字段创建基础实体类并将其用于不同的微服务。就像,在整体架构中,我们可以通过扩展类来轻松使用,如下所示:我的基类@MappedSuperclass@Datapublic class BaseEntity {    private Long id;    private Date created_date;    private Date modified_date;    private Boolean is_active;}我的孩子班@Entity@Data@EqualsAndHashCode(callSuper=false)@Table(name="tbl_country")public class Country extends BaseEntity {    private String countryName;    private String countryCode;}但是,在微服务架构中,所有实体都是分离的。然后,我如何定义服务以使其成为超类。2)同样的问题,我也想在每个微服务中使用我的常量类。比如,在单体结构中,我们可以:public interface Constants {    static String HTTP = "http";    static String COMMA_AND_SPACE = ", ";}并且可以在任何类中使用此常量,例如:public String myMethod(MyDto myDto) {    StringBuilder sb = new StringBuilder();    sb.append("My First String").append(Constants.COMMA_AND_SPACE);    sb.append("My Second String").append(Constants.COMMA_AND_SPACE);}我可以在哪个服务中定义常量,我应该创建单独的服务吗?或者我必须在每个微服务中定义相同的常量(比如代码冗余)。我也以同样的方式在整体结构中使用 Utility 类。请解释结构或指导我定义基类或 Utils。
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

您可以创建一个新模块Common并将所有常用代码放入其中。


只需将它的依赖项添加到pom.xml.


因此,即使您Microservice1单独运行,您也必须在其中绑定 Common 模块。


例如在Microservice1 pom.xml添加共同依赖


<dependency>

    <groupId>com.sample.common</groupId>

    <artifactId>Common</artifactId>

    <version>${project.version}</version>

</dependency>

也可以读这个


查看完整回答
反对 回复 2022-12-28
  • 1 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信