O que é Bean Validation?
Bean Validation (especificação Jakarta Bean Validation, anteriormente JSR 380) é um framework padrão para validação de dados em aplicações Java. Ele permite descrever declarativamente regras de verificação para campos, métodos e classes usando anotações. A implementação mais popular é o Hibernate Validator.
Para que serve a validação?
Em qualquer aplicação que trabalhe com entrada do usuário, é necessário verificar os dados: se a string não está vazia, se o número está dentro do intervalo, se o email é válido. A verificação manual com if-else torna o código volumoso e difícil de manter. O Bean Validation resolve esse problema, transferindo a lógica de verificação para anotações e garantindo um tratamento uniforme de erros.
Como instalar
Se você usa Maven, adicione no pom.xml:
<dependency><groupId>org.hibernate.validator</groupId><artifactId>hibernate-validator</artifactId><version>8.0.1.Final</version></dependency>Para Gradle:
implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final'No Spring Boot, a validação já vem pré-instalada.
Principais funcionalidades
- Anotações padrão: @NotNull, @Size, @Min, @Max, @Email, @Pattern, @Positive, @NotBlank e outras.
- Grupos de validação: permitem aplicar regras diferentes dependendo do contexto (por exemplo, criação vs atualização).
- Validadores personalizados: é possível criar sua própria anotação e escrever a lógica de verificação.
- Validação de parâmetros de métodos: verificação de argumentos e valores de retorno.
Exemplo de código em Java
import jakarta.validation.constraints.*;import jakarta.validation.*;
public class User { @NotBlank(message = "O nome não pode estar vazio") private String name;
@Email(message = "Email inválido") private String email;
@Min(18) @Max(120) private int age;
// getters e setters}
// UsoValidatorFactory factory = Validation.buildDefaultValidatorFactory();Validator validator = factory.getValidator();
User user = new User();user.setEmail("invalid");
Set<ConstraintViolation<User>> violations = validator.validate(user);for (ConstraintViolation<User> violation : violations) { System.out.println(violation.getMessage());}Quando usar
O Bean Validation é aplicado em REST APIs (Spring Boot, Jakarta EE), formulários web, objetos DTO, e também ao trabalhar com bancos de dados. Ele é indispensável se você quiser garantir a integridade dos dados no nível do código Java antes de salvá-los. É recomendado para todos os projetos que tenham entrada do usuário ou integração com sistemas externos.
Também na biblioteca
Métricas Prometheus em C# (.NET) — biblioteca prometheus-net
PHP-CS-Fixer para PHP: guia completo com exemplos práticos
Monitoramento de aplicações Rust: Visão geral de ferramentas e bibliotecas
Awaitility Java: guia completo com exemplos práticos