私はSpringの@Value
注釈によって2つのパラメータを注入しています。 minLength
およびmaxLength
。論理的にminLength
はmaxLength
より大きくてはならず、その逆もありません。これは私が試したものの、失敗したものです。Spring @注入フィールド間の注入フィールド検証@
例外がmaxLengthのが0
ことでスローされ、しかし、私のapplication.properties
に私がmaxLengthの値ではないので、約0を文句一つは、あなたのカスタム検証コードである(検証する前にテスト済み)7
private int minLength;
private int maxLength;
@Min(5)
@Value("${ com.manudcamera.webapi.uuid.minLength : 5} ")
private void setMinLength(int minLength) {
if (minLength > this.maxLength) throw new IllegalArgumentException("minimum length cannot be greater than maximum length | min len: " + minLength + " max len: " + this.maxLength);
this.minLength = minLength;
}
@Max(50)
@Value("${ com.manudcamera.webapi.uuid.maxLength : 15 }")
private void setMaxLength(int maxLength) {
if (maxLength < this.minLength) throw new IllegalArgumentException("maximum length cannot be greather than minimum length | min len: " + minLength + " max len: " + maxLength);
this.maxLength = maxLength;
}
'@ Value'を使って注入するクラスをインスタンス化する、' new'を使う、または他のインスタンスに注入する方法を教えてください。 – dabaicai
クラスはSpringによって管理されています(@ Component'の注釈付き) – XPLOT1ON