Sobes.tech
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 "Поле не должно быть пустым";
}

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