Я создал пользовательскую аннотацию в Spring-boot, но она не распознается.Моя пользовательская аннотация требует некоторой проверки, но Spring-Boot не получает эту аннотацию.Вот мой код
//creating custom annotation
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Target({ElementType.METHOD,ElementType.FIELD})
@Documented
@Constraint(validatedBy = Mobile_EmailValidation.class)
public @interface CustomAnnotation {
String message() /*default "Invalid phone number"*/;
int min();
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
// for validation class
public class Mobile_EmailValidation implements ConstraintValidator<CustomAnnotation, String> {
static{
System.out.println("hi this is static block");
}
@Override
public void initialize(CustomAnnotation constraintAnnotation) {
System.out.println("hi this annotation works");
}
@Override
public boolean isValid(String contactField,
ConstraintValidatorContext ctx) {
System.out.println("hi this annotation works");
if (contactField == null)
return true;
boolean isValid;
if (contactField.length()<10) {
isValid = false;
}
else {
isValid = true;
}}
//this is my entity class
@Entity
@Table(name = "user")
public class User extends BaseDomain {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "name", nullable = true, length = 40)
private String name;
@CustomAnnotation(message = "invalid messages",min=4)
@Column(name = "email_id", unique = true, nullable = false, length = 100)
private String emailId;
Пожалуйста, помогите мне, эта аннотация не выполняется. Скажите, есть ли необходимость в дополнительной настройке.Пожалуйста, помогите мне.