【发布时间】:2012-02-17 04:05:04
【问题描述】:
我用的是spring webflow,这是我的流程
<view-state id="welcome">
<transition on="emailEntered" to="checkEmail"></transition>
</view-state>
<decision-state id="checkEmail">
<if test="alta.checkEmail(requestParameters.email)"
then="okState"
else="errorState"/>
</decision-state>
<view-state id="okState"/>
<view-state id="errorState"/>
我在我的 servlet-context 中启用了自动扫描:
<context:component-scan base-package="com.me.myproj" />
我收到状态 checkEmail 的 org.springframework.binding.expression.PropertyNotFoundException: Property not found 错误。问题是它无法识别我的 'alta' bean,这是我的 Alta 类(放在 com.me.myproj 中):
@Component
public class Alta {
public Alta(){
System.out.println("constructor ok");
}
public boolean checkEmail(String email){
return "my.name@email.com".equals(email);
}
}
如果我明确创建 bean:
<bean id="alta" class="com.me.myproj.Alta"/>
然后它工作正常。因此,流上下文似乎无法识别自动扫描的组件,尽管 alta 已实例化(正如我在调试时看到的那样)。
如何避免明确声明我的流程中涉及的所有 bean?
【问题讨论】:
-
解决了吗?解决方法是什么?
-
不,抱歉,我没有再处理它了..
标签: spring spring-mvc spring-webflow