Создайте собственную аннотацию для bean-компонентов Springboot

Возможно, я неправильно ищу в Google, но я не могу его найти.

Я видел много руководств о том, как создавать собственные аннотации для полей в Springboot. Говоря о создании аспектов и т. д. Точнее, они даже используют ReflectionUtils.fieldCallback для достижения аспектно-ориентированного программирования (насколько я понял)

Однако мне не нужен аспект, мне не нужен код для выполнения. Мне просто нужна аннотация, которую я могу получить, получив аннотации классов.

Более того, мне нужна аннотация для класс, а не для поле. Почти во всех руководствах рассказывается об аннотациях и аспектах для полей.

Это то, что у меня есть на чистом java:

Моя служба:

@Service
@Order(0)
@Tag("m")
public class Changes0m extends Changes {

}

Аннотация моего тега:

@Retention(RetentionPolicy.CLASS)
@Target({ElementType.TYPE})
public @interface Tag {
  String value() default "";
}

И я хочу получить доступ к этому значению «m» следующим образом:

public abstract class Changes {
  ...
  protected String getTag() {
    return this.getClass().getDeclaredAnnotation(Tag.class).value(); // this.getClass() in runtime gives me the Changes0m.class
    //return AnnotationUtils.findAnnotation(this.getClass(), Tag.class).value(); // I tried with AnnotationUtils, did not work.
  }

}

Я проверил все похожие методы, которые мог придумать, но в основном любой getAnnotations / getDeclaredAnnotations дает мне только пружинные (Service и Order).

Что мне не хватает, чтобы сказать Spring, что мне тоже нужен myTag annotation?

Измените срок хранения на время выполнения. См. Повторяющийся вопрос. В остальном ваш код правильный.

Michael 06.11.2018 12:52

Извините, это была полностью моя ошибка. Копипаст не так хорош, как вы могли подумать: D Большое спасибо!

Mayday 06.11.2018 13:10
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
171
0

Другие вопросы по теме