Используя wirebox в coldbox, как создать bean-компонент из модели

Я еще не очень хорошо разбираюсь в терминологии, поэтому, пожалуйста, простите/поправьте меня. Также я понятия не имею, как использовать Coldspring и т. д., поэтому я пытаюсь просто использовать wirebox.

Я хочу не использовать плагин beanFactory и просто вызывать методы wirebox прямо из моей модели.

В настоящее время я могу использовать это

<cfproperty name="bf" inject="coldbox:plugin:BeanFactory" scope="variables" />

Как мне сделать так, чтобы я мог вызывать метод getInstance wirebox вместо getModel beanFactory?


person Tyler Clendenin    schedule 27.12.2011    source источник


Ответы (2)


В обработчике вы можете заставить Wirebox вводить bean-компоненты, используя внедрение свойств (так же, как то, что вы опубликовали).

На основе тегов

<cfproperty name='myModel' inject='id:MyModel' />

На основе скрипта

property name='myModel' inject='id:MyModel';

Затем вы можете использовать модель в любом месте обработчика, просто вызвав myModel.someMethod().

Также стоит отметить, что если вы используете ID модели, то значение inject не требуется. Wirebox попытается найти модель, используя имя, которое вы ей дали. Вы могли бы упростить его.

На основе тегов

<cfproperty name='myModel' inject />

На основе скрипта

property name='myModel' inject;
person Bryce    schedule 05.09.2012

Я не уверен, что это тот ответ, который вы ищете, но...

В обработчике это можно сделать.

var oMyModel = populateModel("myModel");

В модели это можно сделать.

var oMyModel = createobject("component", "myModel");

Это отвечает на то, что вам нужно?

person Nathan Stanford    schedule 03.01.2012
comment
На самом деле проблема не в том, что объекты моей модели должны автоматически подключаться при создании. - person Tyler Clendenin; 03.01.2012