美文网首页
Spring依赖注入

Spring依赖注入

作者: LHZ_123 | 来源:发表于2021-04-25 20:49 被阅读0次

    Spring依赖注入

    @Resource

    是java自带的注解,有两个属性name 和 type,Spring支持使用@Resource来注入。

    @Resource的用法

    1、加到类的属性字段上,默认会使用反射机制来实现注入;

    2、原则上要加到类的属性set方法上。

    @Resource默认的name和type

    1、加到类的属性字段上,默认的name是属性名称,默认的type是属性类型

    2、加到类的属性set方法上,默认的name是方法名去掉set后将其首字母小写 或 方法的参数名称(2个有一个存在即可),默认的type就是set方法的参数类型。

    @Resource注入原则

    1、都不显示指定时,默认先按照byName,再按照byType来查找类并注入

    2、显示指定了name,则只会按照byName查找类并注入

    3、显示指定了type,则只会按照byType查找类并注入

    4、都指定时,则查找同时满足byName和byType的类并注入

    byName的原则,查找beanId等于指定的名称的bean,找不到则抛出异常。

    byType的原则,查找指定的类、实现类或子类,找不到或是找到多个,都会抛出异常。

    @Service、@Component、@Configuration、@Repository等注解,如果没有显示指定beanId,默认的beanId为类名首字母小写。

    @AutoWired

    是spring提供的注解,有一个属性required,表示注入时如果bean不存在是否允许。

    (默认是true表示不允许为空,否则报错。)

    @AutoWired的用法

    1、加到类的属性字段上,默认会使用反射机制来实现注入;

    2、原则上要加到类的属性set方法上。

    @AutoWired的name和type

    1、加到类的属性字段上,默认的name是属性名称,默认的type是属性类型

    2、加到类的属性set方法上,默认的name是方法的参数名称,默认的type就是set方法的参数类型。

    @AutoWired注入原则

    默认先按照byType查找类并注入,再按照byName查找类并注入。

    byName的原则,查找beanId等于指定的名称的bean,找不到则抛出异常。

    byType的原则,查找指定的类、实现类或子类,找不到或是找到多个,都会抛出异常。

    相关文章

      网友评论

          本文标题:Spring依赖注入

          本文链接:https://www.haomeiwen.com/subject/cdlrrftx.html