Spring IOC 构造方法注入和设值注入的比较
来源:互联网 发布:用ant执行sql 语句 编辑:程序博客网 时间:2024/05/19 20:21
构造子注入的配置文件:
<bean id="orderService"
class="com.lizjason.spring.OrderService">
<constructor-arg index="0"ref="orderDAO"/>
</bean>
参数说明:constructor-arg指明是构造方法注入,index="0",表示是构造方法中的第一个参数,如果只有一个参数,则可以不用设置这个属性值
在构造方法中增加参数,在初试化的时候先执行构造方法,就会把值注入进去。
和设置注入的比较
设置注入的配置文件:
<bean id="billingService"
class="com.lizjason.spring.BillingService">
<propertyname="billingDAO"
ref="billingDAO">
</bean>
都是利用Spring的IOC进行注入值不过是方法不同,构造子注入的优势:
1. “在构造期即创建一个完整、合法的对象”,对于这条Java设计原则,Type2无疑是最好的响应者。
2. 避免了繁琐的setter方法的编写,所有依赖关系均在构造函数中设定,依赖关系集中呈现,更加易读。
3. 由于没有setter方法,依赖关系在构造时由容器一次性设定,因此组件在被创建之后即处相对“不变”的稳定状态,无需担心上层代码在调用过程中执行setter方法对组件依赖关系产生破坏,特别是对于Singleton模式的组件而言,这可能对整个系统产生重大的影响。
4. 同样,由于关联关系仅在构造函数中表达,只有组件创建者需要关心组件内部的依赖关系。对调用者而言,组件中的依赖关系处于黑盒之中。对上层屏蔽不必要的信息,也为系统的层次清晰性提供了保证。
5. 通过构造子注入,意味着我们可以在构造函数中决定依赖关系的注入顺序,对于一个大量依赖外部服务的组件而言,依赖关系的获得顺序可能非常重要,比如某个依赖关系注入的先决条件是组件的DataSource及相关资源已经被设定。
不论使用的是哪一种方式,进行注入,调用的时候都要通过getBean方法来调用。Spring会根据配置文件来决定怎样去注入。
- Spring IOC 构造方法注入和设值注入的比较
- Spring设值注入和构造注入的比较
- Spring的注入方式:设值注入和构造注入
- 【Spring】设值注入和构造注入
- 设值注入和构造注入的比较
- 设值注入和构造注入的比较
- Spring的构造注入和设值注入
- Spring注入:设值注入、构造注入
- 【Spring】Spring依赖注入IOC的设值注入setter
- spring中的依赖注入和控制反转(二)——Spring 设值注入和构造注入比较
- Spring的注入案例分析(设值注入和构造注入)
- Spring bean 设值注入和 构造注入
- spring Ioc 依赖注入的三种方式:构造函数注入、setter方法注入和接口注入
- Spring一IOC(设值注入)
- Spring--IoC---基本XML的DI---设值注入
- spring中的二种注入方式设值注入和构造注入简单例子
- Spring的依赖注入( 设值注入)
- Spring的依赖注入( 设值注入)
- 文本文件编码方式的简单识别
- linux系统配置(RedHat)
- 如何查看端口被那个程序占用?
- 内存泄漏与hooklogger
- word文件文档文本恢复转换器
- Spring IOC 构造方法注入和设值注入的比较
- 本人优化的两个传世私服站希望有人帮我看看
- SQL查询 FOR XML [RAW|AUTO|EXPLICIT]
- 仿病毒的自我复制。
- 开发使用什么笔记本比较好
- 借助Spy++向指定的窗口发送消息—2
- ESB研究:综述
- 云计算
- TomCat的指向部署工程