Использование @Autowired в объявлении типа аннотации - PullRequest
0 голосов
/ 14 мая 2019

Я понимаю @ Autowired , используемый для внедрения зависимостей

Помечает конструктор, поле, метод установки или метод конфигурации как автоматически подключенные средствами Spring для вставки зависимостей.

Но каково использование для определения типа аннотации, которое определено

@Target(value={CONSTRUCTOR,METHOD,PARAMETER,FIELD,ANNOTATION_TYPE})

Есть ли какое-либо использование / эффект для определения @Autowired в пользовательской аннотации:

@Autowired
public @interface MyAnnotation {
}

Я не нашел никаких ссылок в Spring docs

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

1 Ответ

1 голос
/ 14 мая 2019

Если вы поместите аннотацию @Autowired над другим объявлением аннотации, новая аннотация будет иметь тот же эффект, что и аннотация @Autowired.Например, в вашем случае вы можете использовать @MyAnnotation выше конструктора, поля, метода установки или метода конфигурации, чтобы они были автоматически подключены средствами внедрения зависимостей Spring.

Кроме того, вы можете обнаружить, что аннотация @Controller впружинный каркас, объявленный как @Component.В результате классы, помеченные как @Controller, также создаются в виде контейнерных компонентов.

...