Spring 依赖注入

来源:互联网 发布:儿童手表软件 编辑:程序博客网 时间:2024/05/06 07:22

在Spring只支持两种依赖注入方式是SetterInjectionConstructorInjection


依赖注入的方式

依赖注入的方式有3种:构造方法注入(Type3)、设置属性注入(Type2)和接口注入(Type1)。


三种方式各有优劣

构造方法注入

好处:在组件实例化时同时设置了所有依赖的组件,不会漏掉某个依赖的组件,组件的初始化代码可以在构造方法中完成。

缺点:如果有多个参数个数相同的构造方法,IoC容器仅依赖参数可能无法区分它们,此外, XML 配置文件也不太直观。

设置属性注入

好处XML配置非常直观

缺点:如果忘记注入某个组件,运行时将会抛出NullPointerException。此外,要在所有注入完成后执行一些初始化代码,需要其他机制。

Spring采用的方法是指定初始化方法的名称,在所有注入完成后调用该方法。

接口注入

这种注入方式是在接口中定义需要注入的信息,对于需要注入的组件,必须实现该接口。然后,容器通过接口信息完成依赖注入。相对于构造方法注入或设置属性注入,接口注入的侵略性要强得多,而且需要更多额外的工作。使用接口注入的IoC容器有Avalon

0 0
原创粉丝点击