我对术语不太了解,所以请原谅/纠正我。另外我不知道如何使用 Coldspring 等,所以我试图只使用线盒。
我不想使用 beanFactory 插件,而只是直接从我的模型中调用线盒方法。
目前我可以使用这个
<cfproperty name="bf" inject="coldbox:plugin:BeanFactory" scope="variables" />
我该怎么做才能调用wirebox的getInstance方法而不是beanFactory的getModel?
我对术语不太了解,所以请原谅/纠正我。另外我不知道如何使用 Coldspring 等,所以我试图只使用线盒。
我不想使用 beanFactory 插件,而只是直接从我的模型中调用线盒方法。
目前我可以使用这个
<cfproperty name="bf" inject="coldbox:plugin:BeanFactory" scope="variables" />
我该怎么做才能调用wirebox的getInstance方法而不是beanFactory的getModel?
在处理程序中,您可以让 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;
我不确定这是您正在寻找的答案,但是...
在处理程序中,您可以执行此操作。
var oMyModel = populateModel("myModel");
在模型中,您可以这样做。
var oMyModel = createobject("component", "myModel");
这是否满足您的需求?