@Autowired适用于set方法,成员,构造参数三种自动装配。
情况下,找不到匹配的bean会抛出异常,需要在里面声明(required=false),虽然不会报错。但是bean为null
每个构造器只有一个被声明为(required=true)
@request只适用于bean的属性setter方法,表示受影响的bean属性必须在配置时被填充,通过在bean的定义或者自动装配一个明确的属性值
@Autowired可以注解框架自带的bean,方法,成员变量,还可以为某个属性,方法,通过添加注解,给需要改类型的数组的字段或方法,以提供某种特定类型的bean
包含(setter,map,order(有序注解,可以按照标记的顺序执行,只对list有效,对map无效,因为map本身是无序的))。
由于该注解是spring BeanPost Processor处理的,所以无法注解该类。
可以通过xml配置文件或者spring的@bean注解
@qualifier
按类型自动装配可能有多个bean的实例情况,使用该注解可以缩小范围,或指定唯一,可以用于单独的构造器,方法,成员变量。
如果通过名称注解主要不是通过@autowired注解,而是使用@resource注解,因为语义差异,集合和map无法通过@autowired注解注入。
因为没有这种bean类型可以与之匹配。@resource通过唯一名称引用集合和map的bean
在@autowired中适用于fields,constructors,多参数方法,允许使用@quailifier可以用于参数级别,在形参中使用,达到缩小范围的目的,具体到某个具体的bean。
在@resource中适用于成员变量,只有一个参数的setterfang'方法
所以在目标为构造器或者多个参数最好使用@quailifier