Spring在会话中存储对象

时间:2014-03-06 08:16:31

标签: java spring spring-mvc spring-security

使用用户对象进行日志记录后,一旦用户选择了我希望应用程序使用该特定帐户的其中一个帐户,用户就可以选择其中一个帐户。有没有办法在春季会话中存储对象帐户,以便任何控制器可以随时访问该变量?

1 个答案:

答案 0 :(得分:0)

您可以使用会话bean

首先是设置和获取对象的界面:

public interface AccountHolder {
    public void setAccount(Account account);
    public Account getAccount();
}

然后是接口的实现:

public class AccountHolderImpl implements AccountHolder {
    private Account account;
    public void setAccount(Account account) {
        this.account = account;
    }
    public Account getAccount() {
        return account;
    }
}

@Configuration中定义会话范围的bean:

@Bean
@Scope(value="session", proxyMode=ScopedProxyMode.INTERFACES)
public AccountHolder accountHolder() {
    return new AccountHolderImpl();
}

之后,您只需在控制器中使用以下内容:

@Autowired
private AccountHolder accountHolder;