jbpm源代码研究(二)-------IOC容器解析器

 在Configuration对象设置xml文件源的时候,Configuration就调用了Xml解析器将xml文件的内容解析成为Bean描述提前放入了IOC容器,然后容器会根据这个描述来采用各种策略构造和管理Bean;

 

 

 

类图如下:

 

 

 

 

 

 

jbpm.wire.bindings.xml如下:

 

另外我们也可以自定义jbpm.user.wire.bindings.xml文件;

 

 

比如我们拿RepositoryServiceBinding举例:

 

 

我们可以将repository-service元素翻译成为RepositoryServiceImpl的Descriptor,并且自动注入setAutoWireEnabled;到时候,我们可以看见我们不必手动注入RepositoryServiceImpl中的CommandService属性;

 

而如何把Descriptor得到 RepositoryServiceImpl呢?

 

在JbpmConfiguration中,会将get的IOC功能委托给wireContext:

 

 

在WireContext中:

 

首先会从缓存中去取,然后会选择从Definition中的Descriptor去取,这里的ResposityService就是这种情况,最后从环境中去取;

 

下面利用反射实例化Descriptor描述的Java 对象,在生成对象的前后,容器会触发生成事件,以实现一些enter-event类似事件;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值