Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: custom, annotation

Приходилось ли писать собственные аннотации?

Вопрос проверяет опыт работы с метаданными Java и понимание, как аннотации используются фреймворками.

Короткий ответ

Да, собственные аннотации пишут для добавления метаданных к коду. Они сами по себе ничего не делают, а используются через reflection или фреймворки. Часто аннотации применяются вместе с AOP или обработчиками. Это удобный способ вынести конфигурацию и правила из кода. В Spring такие аннотации используются очень активно.

Длинный ответ

Собственные аннотации — это способ описать дополнительный смысл кода без изменения логики.

Определение

Пользовательская аннотация — это аннотация, объявленная разработчиком для хранения метаданных и последующей обработки.

Как объявляется аннотация

Аннотация объявляется как специальный интерфейс.

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Auditable {
    String value();
}

Что аннотация делает на самом деле

Важно понимать, что аннотация:

  • не содержит логики

  • не исполняется сама по себе

Логика появляется, когда:

  1. Код читает аннотацию через reflection

  2. Spring использует её в AOP

  3. Аннотация участвует в конфигурации

Типичные сценарии использования

  1. AOP

    • логирование

    • аудит

    • метрики

  2. Валидация

    • собственные правила

    • бизнес-ограничения

  3. Маркировка

    • feature flags

    • роли

    • типы обработки

Пример использования в Spring

@Auditable("payment")
public void processPayment() {
    // бизнес-логика
}

Дальше:

  • аспект перехватывает метод

  • читает аннотацию

  • выполняет дополнительное поведение

Вывод

Аннотации — это декларативный способ расширять поведение системы. Они особенно полезны в сочетании с AOP и фреймворками.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#custom

#annotation

Подпишись на Java Developer в телеграм