Spring 常用的注入方式有哪些?
-
构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。
-
Setter 方法注入:Setter 方法注入是容器通过调用无参构造器或无参 static 工厂方法实例化 bean 之后,调用该 bean 的 Setter 方法,即实现了基于 Setter 的依赖注入。
-
基于注解的注入:最好的解决方案是用构造器参数实现强制依赖,Setter 方法实现可选依赖。
构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。
Setter 方法注入:Setter 方法注入是容器通过调用无参构造器或无参 static 工厂方法实例化 bean 之后,调用该 bean 的 Setter 方法,即实现了基于 Setter 的依赖注入。
基于注解的注入:最好的解决方案是用构造器参数实现强制依赖,Setter 方法实现可选依赖。
评论(1)
为何 Spring 官方推荐使用构造器注入呢?
保证依赖不可变(final关键字)
保证依赖不为空(省去了程序启动因注入对象为空而报异常)
避免循环依赖
提升了代码的可复用性(非 IOC 环境下,可使用 new 实例化该类的对象)