C'è un'implementazione di JSR-303 (bean validation) disponibili?
-
21-09-2019 - |
Domanda
So che ci sono non standard framework come commons-validator, e hibernate validator.
Volevo sapere se qualcuno conosce un'implementazione dello standard ufficiale.
Soluzione
Hibernate Validator rappresenta l' riferimento attuazione di JSR-303
Altri suggerimenti
Ci sono 2 implementazioni compatibili ora:
- Apache Bean Validation (ex agimatec)
- Hibernate Validator
È possibile accedere a un punto di riferimento e una breve descrizione di entrambi qui: http://carinae.net/2010/06/benchmarking-hibernate-validator-and-apache-beanvalidation-the-two-jsr-303-implementations/
Le implementazioni:
ovale non è un validatore JSR-303, ma si può convertire vincoli jsr303 in proprio.
Spring Framework è diventato JSR303 compatibile dalla versione 3 in poi credo.
Spring Framework 4.0 supporta Bean Validation 1.0 (JSR-303) e Bean Validation 1.1 (JSR-349) in termini di supporto di installazione, anche adattandolo alla interfaccia Validator di primavera.
Come per l'estate 2018, ci sono tre specifiche che supersed vicenda:
- JSR 380 (Fagiolo di Convalida 2.0)
- JSR 349 (Fagiolo di Convalida 1.1)
- JSR 303 (Fagiolo di Convalida 1.0)
È possibile consultare il sito ufficiale di per ulteriori dettagli.
Sospensione Validatore 6.10 è una implementazione di riferimento del più recente (380).Ha una grande documentazione Vi consiglio di dare un'occhiata a (è comunque abbastanza roba grossa).
CUBA platform docs potrebbe dare una molto più breve di cogliere l'argomento, se basta un veloce intro.CUBA framework è basato sulla Primavera e EclipseLink, in modo che le cose che hai imparato può essere utilizzato a regolare Spring+Hibernate progetti :)
JSR 349 è supportato dalle versioni più vecchie di Sospensione Validatore e per Apache BVal, loro , entrambi sono "ufficiali".
Da Orm diversa dalla Sospensione, EclipseLink supporta JSR 349 e possibile utilizzare il Validatore interfaccia fornita da HV.
Se è possibile, vorrei raccomandare di non utilizzare la versione precedente (JSR 303) ma passare a 349 o 380 specifiche.Essi sono molto più maturi e ricchi.
Bean Validation potrebbe essere utilizzato in un progetto ancora non c'è ORM, per esempio si può utilizzare Java 2SE o Android (vedi questo articolo), tuttavia, questo non è l'approccio Bean Validation è stato progettato per una cosa primaria.Anche se è possibile utilizzare questi validatori (HV e BVal) di per sé (è necessario creare un'istanza e chiamata Validator
e ExecutableValidator
manualmente), che davvero brillare di lavoro insieme con i framework come Hibernate, Spring o CUBA