この例で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
問題は、コンストラクター メソッドが起動するまでWireBox が挿入されないように見えることですinit()
。したがって、ハンドラーでこれを実行すると、次のようになります。
prc.test = wirebox.getInstance(
name = "test"
);
次のエラー メッセージが表示されます。Error building: test -> Variable TESTSERVICE is undefined.. DSL: , Path: models.test
念のため、オブジェクトの構築後に参照されるtest
ように変更すると、すべて正常に動作します。testService
問題は、コンストラクター メソッドに分離されているようです。
オブジェクト コンストラクター メソッドで依存関係を参照できるようにするにはどうすればよいですか? ご協力ありがとうございます。