对于自动装配,最为常用的注解就是@Autowired
此注解可标注在字段、方法、构造器、参数上。
spring创建组件对象并注入容器时,一般调用组件的无参构造方法,当使用@Autowired注解标注有参构造器时,容器将调用该有参构造器。不能在同一个组件的多个构造器上同时标注@Autowired注解,这样spring将不知道该调用哪个构造器,会抛出异常。
将@Autowired注解标注在方法上,该方法的参数将从容器中获取,该方法将会在组件被创建后,初始化方法调用之前(包括后置处理器的初始化前置方法)被调用
@Autowired注解有时候可以省略,当使用@Bean注解标注在配置类中的方法上时,该方法如有参数,将自动从容器中获取,不必标注
@Autowired注解仅有一个属性boolean required() default true;
用于控制未找到合适的组件进行装配时的行为。
默认情况下,未找到合适的装配组件会抛出异常。可以设置required为false来使其不抛出异常