@Autowired 在注解类型声明中的用法

@Autowired usage in Annotation type declaration

我明白@Autowired用于依赖注入

Marks a constructor, field, setter method or config method as to be autowired by Spring's dependency injection facilities.

但是定义的Annotation类型声明有什么用

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

自定义注解中是否有usage/effect定义@Autowired:

@Autowired
public @interface MyAnnotation {
}

我没有在 Spring docs

中找到任何参考资料

By default, the autowiring will fail whenever zero candidate beans are available; the default behavior is to treat annotated methods, constructors, and fields as indicating required dependencies.

如果将 @Autowired 注释放在其他注释声明之上,新注释将与 @Autowired 注释具有相同的效果。例如,在您的情况下,您可以使用 @MyAnnotation 上面的构造函数、字段、setter 方法或配置方法,以便由 Spring 的依赖注入工具自动装配。

此外,您可能会发现,spring 框架中的 @Controller 注释声明为 @Component。结果,标记为 @Controller 的 类 也创建为容器 bean。