在这个例子中,我有一个名为的模型对象test.cfc
,它有一个依赖项testService.cfc
。
test
testService
通过属性声明注入 WireBox 。该对象如下所示:
component {
property name="testService" inject="testService";
/**
* Constructor
*/
function init() {
// do something in the test service
testService.doSomething();
return this;
}
}
作为参考,testService
有一个称为doSomething()
转储一些文本的方法:
component
singleton
{
/**
* Constructor
*/
function init() {
return this;
}
/**
* Do Something
*/
function doSomething() {
writeDump( "something" );
}
}
testService
问题是,直到构造init()
方法触发之后,WireBox 似乎才注入。所以,如果我在我的处理程序中运行它:
prc.test = wirebox.getInstance(
name = "test"
);
我收到以下错误消息:Error building: test -> Variable TESTSERVICE is undefined.. DSL: , Path: models.test
只是为了理智,如果我修改test
以便testService
在构造对象后被引用,一切正常。该问题似乎与构造函数方法无关。
如何确保我的依赖项可以在我的对象构造函数方法中被引用?感谢你的协助!