spring的依赖注入

Posted by 好记性不如烂笔头 on 03-29,2020

依赖注入:Dependency Injection

IOC的作用降低了程序间的耦合,依赖关系的管理都交给了spring来维护。依赖关系的维护就称之为依赖注入。实际上可以理解为就是变量初始化

能注入的数据有三类:
  • 基本类型和String
  • 其他bean类型(在配置文件中或者注解配置过的bean)
  • 复杂类型/集合类型
注入的方式有三种:
  • 使用构造函数注入(优点是:在创建bean对象时注入属性是必要的,否则无法创建;缺点是:如果用不到那些属性也必须提供),bean标签中嵌套constructor-arg标签,标签中的属性有:

    • type:用于指定要注入的数据的数据类型,该类型也是构造函数中某个或某些参数的类型(不怎么常用)
    • index:用于指定要注入的数据结构给构造函数中指定索引位置的参数赋值,索引从0开始(不怎么常用)
    • name:用于指定要赋值的参数名称(常用)
    • value:用来指定基本数据类型
    • ref:用来指定其他bean类型(值等于引用类型的id)
  • 使用set方法注入,bean标签中嵌套property标签,标签中的属性有:

    • name:用于指定注入时调用的set方法中的名称
    • value:用来指定基本数据类型
    • ref:用来指定其他bean类型(值等于引用类型的id)
  • 使用注解提供