【八股】IOC

@Autowired和@Resource有什么区别?

@Autowired:

  1. Spring提供的
  2. 默认是根据类型(byType)进行自动装配的,如果有多个类型一样的Bean候选者,就会再根据名称(byName)进行自动装配,如果还是没找到,就会报错。
  3. 也可以配合@Qualifier,根据名称进行装配。

@Resource:
4. JDK提供的
5. 默认是根据名称(byName)进行自动装配的,如果没找到Bean,就再根据类型(byType)进3装配,如果还是没找到,就会报错
6. @Resource也可以加上 name 属性值,根据name的名称进行注入

为什么推荐构造器注入方式?

因为有可能会有循环依赖这个问题。
有循环依赖存在时,
如果用构造器注入,那么Spring项目启动时就会报错,提醒你的代码里有循环依赖的问题。
如果用注解注入,那么Spring项目启动时不会报错,直到用到循环依赖的时候就会死循环,后面会报错栈溢出,就是那个StackOverflowError。

相关推荐

  1. 八股IOC

    2024-03-31 21:40:07       19 阅读
  2. 2023 iOS 八股文

    2024-03-31 21:40:07       36 阅读
  3. 八股】MySQL

    2024-03-31 21:40:07       11 阅读
  4. c++八股3

    2024-03-31 21:40:07       31 阅读
  5. c++八股4

    2024-03-31 21:40:07       31 阅读
  6. 八股】Spring MVC

    2024-03-31 21:40:07       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-31 21:40:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-31 21:40:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-31 21:40:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-31 21:40:07       20 阅读

热门阅读

  1. 二分查找中的小细节

    2024-03-31 21:40:07       18 阅读
  2. http和https的区别!

    2024-03-31 21:40:07       15 阅读
  3. Python:魔法函数

    2024-03-31 21:40:07       19 阅读
  4. 滑动窗口算法详解及应用示例

    2024-03-31 21:40:07       18 阅读
  5. 第十五届蓝桥杯第二期模拟赛——python

    2024-03-31 21:40:07       17 阅读
  6. Kafka(十一)管理Kafka

    2024-03-31 21:40:07       19 阅读
  7. 抽象工厂模式

    2024-03-31 21:40:07       21 阅读