在ZKoss控制器中可以自动接线Spring bean吗?

在ZKoss控制器中可以自动接线Spring bean吗?,第1张

在ZKoss控制器中可以自动接线Spring bean吗?

我们使用普通的@Inject批注,但是我们需要对此AbstractVM进行扩展才能使其正常工作:

public abstract class AbstractVM {    public AbstractVM() {        this.autowire(this);    }    protected final void autowire(Object object) {        this.getApplicationContext().getAutowireCapableBeanFactory()     .autowireBean(object);        this.getApplicationContext().getAutowireCapableBeanFactory()     .initializeBean(object, null);    }        protected final ApplicationContext getApplicationContext() {        return WebApplicationContextUtils     .getRequiredWebApplicationContext(Executions.getCurrent()  .getDesktop().getWebApp().getServletContext());    }}

所以是vm的示例:

import javax.inject.Inject;public class OverviewVM extends AbstractVM {    @Inject    private NotaService notaService;    @Inject    private ContactService contactService;
编辑:

@Dunni的评论是正确的。
您不能在构造函数中使用自动装配的Bean。我以前的解决方案是MVVM,但是对于MVC,您需要将该代码放置在

doBeforeCompose
doAfterCompose
方法中而不是在构造函数中。(从中覆盖
SelectorComposer



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4931322.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存