[英]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.