2016-06-30 16 views
1

原因appのアーキテクチャ制約の注釈を実装から切り離す必要があります。 ConstraintValidator実装をConstraintに登録する

@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) 
@Retention(RUNTIME) 
@Documented 
@Constraint(validatedBy = { }) 
public @interface Size { .. } 

しかし、私はこの制約に実装を登録する方法のいずれかの情報を見つけることができない、春の @Componentを経由してコンポーネントを登録:私は validatedByプロパティが明示的に設定されていない場合、 @Size注釈で使用されるアプローチを使用して考えていました役に立たないとコードが失敗します: No validator could be found for constraint

答えて

1

JSR-303はconstraint-mappingsファイルで制約を宣言できます。

その後、

  • のいずれかは、あなたのvalidation.xmlにおける制約マッピングファイルを参照することができます。

    <constraint-mapping>META-INF/validation/order-constraints.xml</constraint-mapping> 
    

または

  • のJava API Configuration.addMapping(InputString)

    を使用して制約のマッピングファイルを追加ビーン検証XML形式で制約のマッピングを記述したストリームを追加します。

関連する問題