@AutoWired

构造器

标记一个构造器,字段,setter方法或配置方法来让Spring的依赖注入的能力来装配

构造器最多只能有一个标记@AutoWired,被标记的构造器的修饰符不用是public

如果多个构造器均标记@AutoWired则会抛异常

org.springframework.beans.factory.BeanCreationException

如果bean只定义了一个构造器,则可以省略@AutoWired。如果定义了多个构造器,则要标记一个

如果没有标记,则会调用默认的构造器(无参构造器),如果没有提供,则会抛出异常。

构造器的修饰符不是必需为pulibc

字段

字段在构造器初始化完之后在配置方法之前被注入,修饰符不必是public

配置方法(config method)

配置方法可以是任意的名字和任意的参数个数,

这些参数将会注入匹配的容器中的bean,

将配置方法的修饰符设置为public会更高效

在有多个参数的配置方法时,'requried'适用于所有的参数

Collection 和 Map

如果要依赖的参数是Collection和 Map,容器会注入所有符合的bean.

如果是Map,key一定要声明为字符类型,将会设置成对应bean的名字

boolean required() default true;

声明被注解的依赖是必须的,默认为true,如果找不到对应的依赖,会抛异常

这样可以避免运行时的空指针异常

org.springframework.beans.factory.NoSuchBeanDefinitionException

注入规则

如果类型可以区分就不考虑变量名,

如果有多个相同的类型,依据变量名来区别

results matching ""

    No results matching ""