spring提供两种annotation方式进行装配:
@Autowire与@Resource方式装配,区别是:
@Autowire default by type,默认情况下它要求依赖对象必须存在如果允许为null,可以设置它required属性为false,如果我们想使用按照名称装配,可以结合@Qualifier注解一起使用;
@Resource default by name,当找不到与name匹配的bean才会按照type装配,可以通过name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象.
注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖的对象时候,会回退到按照类型装配,但一旦指定了name属性,就只能按照名称装配了.
开发过程中建议用@Resource
@Autowire与@Resource方式装配,区别是:
@Autowire default by type,默认情况下它要求依赖对象必须存在如果允许为null,可以设置它required属性为false,如果我们想使用按照名称装配,可以结合@Qualifier注解一起使用;
@Resource default by name,当找不到与name匹配的bean才会按照type装配,可以通过name属性指定,如果没有指定name属性,当注解标注在字段上,即默认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即默认取属性名作为bean名称寻找依赖对象.
注意:如果没有指定name属性,并且按照默认的名称仍然找不到依赖的对象时候,会回退到按照类型装配,但一旦指定了name属性,就只能按照名称装配了.
开发过程中建议用@Resource

本文详细介绍了Spring框架中依赖注入的两种主要方式:@Autowire和@Resource的不同之处及使用方法。@Autowire默认按类型装配,可通过@Qualifier指定名称;而@Resource默认按名称装配,未指定名称时会退回到按类型装配。

被折叠的 条评论
为什么被折叠?



