Back to questions
Middle
3
Расскажите про опыт написания кастомных аннотаций в Java.
Companies where asked
Финансовые платформы
Answer from AI
sobes.tech AI
В Java я создавал кастомные аннотации для различных целей, например, для валидации данных или настройки поведения компонентов. Для создания аннотации используется ключевое слово @interface. Можно задавать параметры с дефолтными значениями, а также указывать область применения и время жизни аннотации с помощью мета-аннотаций @Target и @Retention.
Пример кастомной аннотации для валидации поля:
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface NotEmpty {
String message() default "Поле не должно быть пустым";
}
Далее эту аннотацию можно считывать через рефлексию и реализовывать логику проверки. Такой подход помогает централизовать и упростить валидацию или конфигурацию без изменения основного кода.