Bootstrap

Spring注解@Autowired

一、@Autowired

注解@Autowired是Spring对组件自动装配的一种方式。

 1、构造函数上定义

(1)、带有@Autowired注解的构造方法,在Spring初始化对象实例时,会被调用进行对象的实例化。

(2)、如果构造方法上带有了@Autowired注解,那么这个构造方法就算不是public修饰的也可以被实例化。

(3)、当一个对象只有一个构造方法时,Spring实例化对象会默认选择这个构造方法进行实例化,无需加@Autowired注解。只有存在了多个构造方法时,才用加@Autowired注解,告诉Spring选择那个构造方法进行实例化。

(4)、构造方法的@Autowired且required属性为true的只允许有一个。其他必须设置为false

(5)、实例化带参数的构造方法时,Spring会优先实例化构造方法中的参数。

2、在类属性上定义

最常用的一种。字段在构造bean之后,在调用任何配置方法之前被注入。这样的配置字段不必是

public的,private也可以被赋值。

3、在方法上定义

定义在其他方法上,当Spring容器调用该类的构造方法实例化完成该类后,会调用@Autowired修

饰的方法,并将方法的参数进行实例化。也就是说,我们如果想实例化完成一个类后,执行某个方

法时,可以用@Autowired注解来修饰。Spring会自动给我们执行该方法,有点儿类似于i

;