В этом примере у меня есть объект модели с именем test.cfc
, который имеет зависимость testService.cfc
.
test
имеет вставку WireBox testService
через объявление свойства. Объект выглядит так:
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" );
}
}
Проблема в том, что WireBox, похоже, не вводит testService
, пока не сработает метод конструктора init()
. Итак, если я запускаю это в моем обработчике:
prc.test = wirebox.getInstance(
name = "test"
);
Я получаю следующее сообщение об ошибке: Error building: test -> Variable TESTSERVICE is undefined.. DSL: , Path: models.test
Просто ради здравого смысла, если я изменю test
, чтобы после создания объекта на него ссылались testService
, все работает нормально. Кажется, что проблема изолирована от методов конструктора.
Как я могу убедиться, что на мои зависимости можно ссылаться в моих методах конструктора объектов? Спасибо за вашу помощь!