簡體   English   中英

在春季重寫父類受保護的成員變量注釋

[英]Overriding parent class protected member variable annotations in spring

今天,我使用SpringBoot遇到了問題,我有一個父抽象類,該抽象類定義了一個帶有spring注釋的受保護字段。

@Length(max=100)
protected String uuid;

在我的子類中,需要將@Length批注的最大值設置為其他值,而我正在為如何做到這一點而絞盡腦汁。 閱讀后,我懷疑有一種方法可以在類構造函數中的類成員變量上設置注釋,這樣我可以為成員變量uuid定義@Length注釋,然后覆蓋子構造函數中的值,但未找到任何示例或文檔如果可能的話。 任何有關如何使用spring覆蓋子類中父級受保護變量注釋的想法或示例,將不勝感激。

這是正在使用的全套注釋...

@ApiModelProperty("Unique ID For My Object")
@Length(max=100)
@Pattern(regexp = "\\S*")
protected String uniqueId

在Java中,沒有諸如覆蓋變量之類的東西。 只能覆蓋方法。 最后的聲明提出了有關如何解決此問題的想法。 如果您不直接在屬性上指定注釋,而是在特定字段的getter上指定注釋,例如:

class Parent{
   private String uniqueId;

   ...

   @ApiModelProperty("Unique ID For My Object")
   @Length(max=100)
   @Pattern(regexp = "\\S*")
   public String getUniqueId(){
      return uniqueId;
   }
}

然后,您可以通過覆蓋getter來覆蓋子類中的那些屬性:

class Child extends Parent{
   private String uniqueId;

   ...

   @ApiModelProperty("Unique ID For My Object")
   @Length(max=200)
   @Pattern(regexp = "\\S*")
   public String getUniqueId(){
      return uniqueId;
   }
}

我還沒有檢查這些注釋是否也可以應用於吸氣劑,但我希望如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM