0

在流程中:

<action-state id="create">
        <evaluate expression="operatore_rer" result="flowScope.operatore_rer" />
        <evaluate expression="mainService.getComuni()" result="flowScope.comuni_list" />
        <transition to="nuovo-operatore-rer" />
    </action-state>

评估表达式不调用方法 mainService.getComuni()

我必须在哪里以及如何声明 mainService????

如果我在 applicationContext 中声明:

<bean id="mainService" class="com.aieap.services.MainService" />

这是错误:

GRAVE: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mainService' defined in ServletContext resource [/WEB-INF/dispatch-servlet.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.aieap.services.MainService]: Specified class is an interface

帮我

4

2 回答 2

1

@Service("mainService")为实现接口的类设置注释,MainService并在 bean 中引用该类而不是接口。这样,bean 就被初始化了,你可以在你的 web 流中调用它。

于 2013-01-18T16:04:26.787 回答
0

mainService必须是 Spring 已知的 bean。通过 Spring XML 配置文件(可以通过 导入flow.xml文件<bean-import>或通过 加载web.xml),或通过基于注释的 bean 定义。

于 2013-01-14T16:03:43.780 回答