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

1) 我有 3 个微服务项目(Country-micro、State-micro 和 City-micro),每个微服务分别定义了 3 个实体 Country、State 和 City。请注意,所有 3 个微服务在 pom.xml 中具有相同的组 ID

所有实体都有共同的 4 个字段

  1. ID

  2. 创建日期

  3. 修改日期

  4. 活跃

如何为上述字段创建基础实体类并将其用于不同的微服务。就像,在整体架构中,我们可以通过扩展类来轻松使用,如下所示:

我的基类

@MappedSuperclass

@Data

public 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。


开满天机
浏览 73回答 1
1回答

回首忆惘然

您可以创建一个新模块Common并将所有常用代码放入其中。只需将它的依赖项添加到pom.xml.因此,即使您Microservice1单独运行,您也必须在其中绑定 Common 模块。例如在Microservice1 pom.xml添加共同依赖<dependency>&nbsp; &nbsp; <groupId>com.sample.common</groupId>&nbsp; &nbsp; <artifactId>Common</artifactId>&nbsp; &nbsp; <version>${project.version}</version></dependency>也可以读这个
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java