论坛首页 Java企业应用论坛

J2EE without EJB 读书笔记--Light weight Container & IoC

浏览 7992 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-07-28  
容器所应提供的服务包括:
1. 生命周期管理
2. 查找: 查找被管理对象的引用
3. 配置: 使用一致的方法, 来配置被管理的对象
4. 依赖性解析:

IoC的策略有两种:
1. 依赖性查找: 传统的类似JNDI的方法
2. 依赖性注入: 使用JavaBean property的方法叫做Setter注入或者type 2,
                          使用构造函数参数的叫做构造函数注入或者type 3.

Setter注入: JavaBean的setter方法在对象实例被容器构造之后立即执行, 且在任何业务方法调用之前.
                     它对有缺省值的对象工作良好, 意味着在运行时无需提供所有的properties.
                     Setter的次序没有任何契约来表述, 并非所有必须的setter在对象使用之前被调用,
                     因此对象可能只是部分配置的. (Spring可以通过依赖性检查来避免这一点)
                    
构造注入: 构造函数接收传入的参数, 并对其property赋值.
                  每个受管理对象都可以保证是完全配置的.
                  对现存的有价值的遗留代码无法支持, 例如Commons DBCP.
                  在协作参数被传入构造函数并初始化成员变量之后, 无法改变对象中的这些引用.

http://blog.csdn.net/findsun/archive/2004/07/29/54963.aspx
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics