С помощью Spring вы можете создавать некоторые аннотации.Ярким примером является @SpringBootApplication
-аннотация, которая является составной из @Configuration
, @EnableAutoConfiguration
и @ComponentScan
.
Я пытаюсь получить все Бины, на которые влияет определенная аннотация,т.е. ComponentScan
.
После этого ответа я использую следующий код:
for (T o : applicationContext.getBeansWithAnnotation(ComponentScan.class).values()) {
ComponentScan ann = (ComponentScan) o.getClass().getAnnotation(ComponentScan.class);
...
}
, который не работает, поскольку не все компоненты возвращаются getBeansWithAnnotation(ComponentScan.class)
действительно аннотированы этой аннотацией, поскольку те, которые, например, помечены @SpringBootApplication
, (обычно) не являются.
Теперь я ищу какой-то общий способ получения значения аннотации,даже когда он добавляется только как кусок другой аннотации.Как я могу это сделать?