依赖注入

Posted wyp1988

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了依赖注入相关的知识,希望对你有一定的参考价值。

  • @Autowired
    • 查找被注解的变量类型,找到所有此类型的构建或此类型子类的构建
    • 如果一个也没有找到,看required参数,false则用null,true则失败(默认,即spring会启动失败)
    • 如果仅找到一个,则装载这个构件
    • 如果找到多个,且只有一个有@Primary注解,使用Primary的
    • 如果不符合上述条件,失败(即spring会启动失败)
  • @Qualifier
    • 用于复杂情况下和@Autowired参数一起用,都既可以用于标注在变量上,也可以标注于类定义上
    • 如果属性既有Autowired注解又有Qualifier注解,在构件中查找名字为Qualifier中指定的名字的注解
      • 在构件上指定名字(项目中要全局唯一)的两种方法
        • @Service("这里写名字")
        • @Qualifier("这里写名字")
  • 注意
    • spring中凡是用@Service等注解标注的都是spring中的构件(Component?),可以使用注入
    • 可以使用@Autowired等方式注入的,必须是@Service等标注的构件!

以上是关于依赖注入的主要内容,如果未能解决你的问题,请参考以下文章

依赖注入 ---- 系列文章

依赖注入

PHP如何实现依赖注入

依赖注入是怎么回事

Spring的依赖注入

依赖注入究竟有啥好处?