@Обязательная аннотация используется, чтобы убедиться, что задано определенное свойство. Если вы переносите существующий проект в Spring framework или по каким-либо причинам имеете собственную аннотацию в стиле @Required, Spring позволит вам определить собственную аннотацию в стиле @Required, которая эквивалентна аннотации @Required.
В этом примере вы создадите пользовательскую @Обязательный стиль аннотацию с именем @Обязательный , которая эквивалентна @Обязательный аннотации.
1. Создайте @Обязательный интерфейс
package com.mkyong.common;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Mandatory {
}
2. Примените его к свойству
package com.mkyong.common;
public class Customer
{
private Person person;
private int type;
private String action;
@Mandatory
public void setPerson(Person person) {
this.person = person;
}
//getter and setter methods
}
3. Зарегистрируйте его
Включите вашу новую @Обязательную аннотацию в класс “RequiredAnnotationBeanPostProcessor”.
4. Сделано
Готово, вы только что создали новую пользовательскую аннотацию в стиле @Required с именем @Обязательный , которая эквивалентна аннотации @Required.
Оригинал: “https://mkyong.com/spring/spring-define-custom-required-style-annotation/”