看jdon源码关于依赖反射的一点疑惑

我看jdon里面配置service的时候依赖一些component的时候,并没有指明依赖那个component呢,
如:<pojoService name="accountService"
class="com.jdon.jivejdon.service.imp.account.AccountServiceImp"/>

然后我看代码:
public AccountServiceImp(AccountDao accountDao, SequenceDao sequenceDao,
SessionContextUtil sessionContextUtil, JtaTransactionUtil jtaTransactionUtil,
ResourceAuthorization resourceAuthorization,
OldUpdateNewUtil oldUpdateNewUtil,
EmailHelper emailHelper) {
this.accountDao = accountDao;
this.sequenceDao = sequenceDao;
this.sessionContextUtil = sessionContextUtil;
this.jtaTransactionUtil = jtaTransactionUtil;
this.resourceAuthorization = resourceAuthorization;
this.oldUpdateNewUtil = oldUpdateNewUtil;
this.emailHelper = emailHelper;
}

我想是不是通过 参数名来定位的,如 AccountDao accountDao ,框架就会去找component 的name是accountDao 的组件呢,如配置文件里就有这么一条:
<component name="accountDao"
class="com.jdon.jivejdon.dao.filter.AccountDaoDecorator"/>
应该是这样的吧,如果这样,这个accountDao是一个类 实例的参数名,如何得到这个支付串呢,我试了很多方法,都只能得到类AccountDao的名字,


还有就是jf框架里得到某个component的值是这样的:
组件POJO获得方法是通过WebAppUtil的getComponentInstance方法,例如在container.xml中有如下组件定义:
<component name="modelManager" class="com.jdon.model.ModelManagerImp" />
在程序中如果要获得ModelManagerImp组件实例的方法是:
ModelManager modelManager =
(ModelManager)WebAppUtil.getComponentInstance(“modelManager”, sc);
组件实例获得的原理实际是直接在微容器中寻找以前注册过的那些POJO,

为什么还要有sc这个参数啊,也就是要依赖context,为什么不能像spring那样直接传入name就能得到component的object呢?

[该贴被Arsenal于2008-10-24 10:16修改过]

这就是IOC/DI所谓的auto wiring,现在Spring2.5才重视这个功能,提供annotation。

auto wiring就是类与类的依赖关系由容器自动解决,不用自己去指定,在实际编程中,我们经常重构变更类与类的调用关系,如果每更换一个类,都去修改配置,我们不知道在这种复杂环境下编程的人都习惯复杂了,看到Jdon框架下auto wiring简化你编程反而看不懂了。