私のプロジェクトはSpring MVC
からSpring boot
に移行する必要があり、私たちはSpring InitializrからSpringブートを初期化するように管理されており、デフォルトでspring validation
とバンドルされています。 Spring default validator
またはHibernate validator
のいずれかを選択するのは混乱しています。 アドバイスをお願いします!SpringのデフォルトのバリデーターとHibernateのバリデーターはどちらが良いですか?
0
A
答えて
1
1日の研究の後、私はいくつかの事実を見つけました。デフォルトでは、今春ブーツのよう
はBean Validation 1.0
(JSR-303)が付属し、Bean Validation 1.1
(JSR-349)
- Java Beanがバリデーション(JSR 303)によって承認されたフレームワークであり、 JCP 2009年11月現在、Java EE 6仕様の一部として受け入れられています。
- ビーン検証1.1(JSR 349)は2013.Itで仕上げられた一方のJava EE 7
Hibernateバリ6.Xの一部であるリファレンス実装Bean Validation 2.0
(JSR 380)です。
内蔵の制約@ Pastand @将来
ためのJSR 310日付/時刻型のサポート新:
@Positive
、@PositiveOrZero
、@Negative
、@NegativeOrZero
、@PastOrPresent
と@FutureOrPresent
ビーン検証を2.0は、Java EE 8プラットフォームの一部となります。ここで
はtheese 2の制約内蔵の比較である(Run code snippet
にをクリックし、注釈賢明な比較を参照してください。)
.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc}
.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1}
.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center}
.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}
.red{
color : red;
}
.green{
color : green;
}
<table class="w3-table-all w3-card-4">
<thead>
<tr>
<th>Annotations/Features</th>
<th>Hibernate Validator 6.X</th>
<th>Spring default Validator</th>
</tr>
</thead>
<tbody>
<tr>
<td>@AssertFalse</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@AssertTrue</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@DecimalMax</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@DecimalMin</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Digits</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Future</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Max</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Min</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@NotNull</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Null</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Past</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Pattern</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
<td>@Size</td>
<td class="green">Yes</td>
<td class="green">Yes</td>
</tr>
<tr>
</tr>
<tr>
<td>@Negative</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@NegativeOrZero</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@Positive</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@PositiveOrZero</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@PastOrPresent</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@FutureOrPresent</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@NotEmpty</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@NotBlank</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
<tr>
<td>@Email</td>
<td class="green">Yes</td>
<td class="red">No</td>
</tr>
</tbody>
</table>
関連する問題
- 1. SpringタグとJQueryバリデーター
- 2. TYPE_USEアノテーションはhibernateバリデーターで
- 3. hibernateバリデーター4.2.0ファイナル@CreditCardNumber
- 4. Hibernateバリデーター - 条件付きでバリデーターを適用する
- 5. spring-bootでHibernate URLバリデーターを手動で呼び出す
- 6. オートワイヤーを使用しないでhibernateバリデーター
- 7. hibernateバリデーターのすべてのプロパティーにデフォルトの制約を設定するには
- 8. Javaでhibernateバリデーターの別の部分を使用しているSpring MVC
- 9. Spring環境の複数の@ConfigurationPropertiesバリデーター・ビーンズ
- 10. HTMLパーサーとバリデーターの違い
- 11. NG_VALIDATORSとバリデーター(クラス)の違い
- 12. hibernateバリデーター切り捨てられた文字列のLengthValidator
- 13. Laravelバリデーターとエクセルファイルのエラー
- 14. バリデーターでオートワイヤリング
- 15. バリデーター - minFiles
- 16. バリデーター - OOP
- 17. JavaScriptバリデーターのASP.NETバリデーターのisvalidプロパティへのアクセス
- 18. バリデーター以外のバリデーションメソッド
- 19. symfonyバリデーター、バックエンドのウィジェット
- 20. JSFバリデーターの注文
- 21. PHPベースのHTMLバリデーター
- 22. Spring 3.1カスタム制約バリデーター内でオートワイヤリングが機能しない
- 23. 春@Validバリデーターが正しく呼び出されない(Roo、Hibernate)
- 24. 一部のモデルでArgumentErrorが発生します。バリデーターが不明です。バリデーターが見つかりました。
- 25. Oracle JETバリデーターが必要ですか?
- 26. hibernateバリデーター:2フィールドの一致を確認する
- 27. djangoフィールドはバリデーターが必要です
- 28. バックエンドコードからバリデーターを作成する
- 29. W3Cバリデーター、CSS3、ブートストラップ
- 30. 無効なバリデーター
バリデータを休止リファレンス実装でありますBean Validation仕様のうち、Spring Validation( 'Validator'インターフェース)はそれ自身のものです。通常、Hibernateの制約の検証はSpringに簡単に統合できるので、どちらも使用されます。実際、Spring Bootは自動的にそれを行うべきです。 –