Spring注解之@Autowired详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lycyl/article/details/83069542

使用@Autowired注解,标记类的构造函数、字段、set方法或者配置方法,spring的依赖注入工具就可以对其进行自动装配。意思是在我们尝试从spring容器中获取bean的时候,容器可以自动地进行构造函数注入、set注入。set方法可以看作是配置方法的特例,所以类比去理解即可。

源代码:

@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Autowired {

    /**
     * Declares whether the annotated dependency is required.
     * <p>Defaults to {@code true}.
     */
    boolean required() default true;

}

关于注解对象:

构造函数:对于任何给定的bean class 最多只能有一个构造函数带有此注解,指定构造函数在用作spring bean的时要自动装配。这样的构造函数不需要是public。

属性:在调用任何配置方法之前,构造完bean之后,注入属性。这样的属性不需要是public。

配置方法:配置方法是指可以有任意名称和任意数量的参数的方法; 每个参数都将使用Spring容器中的匹配bean进行自动装配。 Bean属性setter方法实际上只是这种通用配置方法的一个特例。 这种配置方法不必是public的。

猜你喜欢

转载自blog.csdn.net/lycyl/article/details/83069542