Sobes.tech
Назад к вопросам
Middle
4

Расскажите про опыт написания кастомных аннотаций в Java.

Компании, где спрашивали
Финансовые платформы

Ответ от нейросети

sobes.tech AI

В Java я создавал кастомные аннотации для различных целей, например, для валидации данных или настройки поведения компонентов. Для создания аннотации используется ключевое слово @interface. Можно задавать параметры с дефолтными значениями, а также указывать область применения и время жизни аннотации с помощью мета-аннотаций @Target и @Retention.

Пример кастомной аннотации для валидации поля:

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface NotEmpty {
    String message() default "Поле не должно быть пустым";
}

Далее эту аннотацию можно считывать через рефлексию и реализовывать логику проверки. Такой подход помогает централизовать и упростить валидацию или конфигурацию без изменения основного кода.