Resource && Autowire

2024-01-03 01:29:10

@Resource注入

  1. Java自带的注解,javax.annotation.resource,Spring支持该注解
  2. 默认按照byName注入方式,通过反射机制自动注入的策略
  3. 装配策略:
    ①如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。
    ②如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。
    ③如果指定了type,则从上下文中找到类似匹配的唯一bean进行装配,找不到或是找到多个,都会抛出异常。
    ④如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。
    值得注意的是,如果使用了@Resource注解,且没有配置name 和 type,默认使用byName装配,装配失败时,使用byType。 But,如果你指定了name 或 type,则不会按上述逻辑装配.

@Autowire注入

  1. Spring 提供的注解形式
  2. 默认按照byType注入方式,要求依赖必须存在
  3. 使用@Autowired按照名称byName来装配,可以结合@Qualifier注解一起使用

文章来源:https://blog.csdn.net/lijiaqiong/article/details/135351685
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。