2015-09-14 7 views
0

Я пытаюсь создать вызов службы в Application.cfcСоздание FW/1 Обслуживание в Application.cfc

Исходный код выглядел

Теперь

void function setupApplication() { 

    ... 
    application.objCCFRO = new model.services.setting(); 
    application.stSetting = application.objCCFRO.loadini("standard.ini"); 

Я пытаюсь чтобы преобразовать его в

application.stSetting = variables.beanFactory.getBean("settingService").loadIni("standard.ini"); 

документация говорит

иногда требуется доступ к бобовой фабрике сразу (например, для получения переходного процесса), и в то время как вы можете получить на него внутри ваших контроллеров через variables.fw.getBeanFactory() это лучше иметь боба завод впрыскивается объявляя собственность BeanFactory; (который может быть , используемый в обоих контроллерах и услугах), то вы можете позвонить variables.beanFactory.getBean() whenevr [sic] вам понадобится переходный период.

Мне нужен переходный, когда я бегу setupApplication()

ответ

2

Ну, если вы используете DI/1 с FW/1, вы можете установить accessors="true" в вашем Application.cfc, а затем определить property settingService;. Это сделает доступную услугу через variables.settingService, при условии, что DI/1 управляет этим CFC.

Ваш пример вызова может затем стать: application.stSetting = variables.settingService.loadIni("standard.ini");

+0

'getBeanFactory()' работал слишком –

+0

Действительно. В зависимости от ситуации я обычно сдерживаюсь от прямого вызова фабрики компонентов, если мне не нужны метаданные, доступные из его собственных функций, или я копаюсь на фабрике, недоступной для текущего завода-изготовителя или службы. –