使用@ViewScoped的Spring UserService ClassNotFound但与@SessionScoped一起使用

时间:2012-10-11 00:36:04

标签: spring jsf jsf-2

使用ViewScoped时,我有一个使用ClassNotFound失败的UserService但是使用SessionScoped,我希望有人可以告诉我原因。我的应用程序将JSF2与Spring混合在一起。

我得到的错误是:

java.lang.ClassNotFoundException: com.dave.user.service.IUserService

托管bean是

@ManagedBean(name="ClientMB")
@ViewScoped
public class ClientMB implements Serializable{


@ManagedProperty(value="#{UserService}")
IUserService  userService;

public IUserService getUserService() {
    return userService;
}

public void setUserService(IUserService userService) {
    this.userService = userService;
}

UserService定义为

public class UserService implements Serializable, IUserService  {

// UserDAO is injected...
IUserDAO userDAO;

}

IUserService只是一个接口:

public interface IUserService {

ApplicationContext中的声明是

<bean id="UserService" class="com.dave.user.service.UserService">
    <property name="userDAO" ref="UserDAO" />
</bean>

正如我所说,使用SessionScoped可以正常工作,但是当我将托管bean更改为ViewScoped时失败。

1 个答案:

答案 0 :(得分:0)

问题来自于将状态保存从服务器更改为客户端。一旦我返回状态保存到服务器viewcope工作正常。不太确定为什么会发生这种情况,但同样令人尴尬。