Spring MVC:用户对象bean的最佳实践

时间:2015-04-04 20:58:15

标签: java spring spring-mvc

我有一个小的Spring MVC应用程序,其中一些类依赖于User对象。

我想将它声明为@Component,因此我可以使用@Autowired注释从任何地方访问此bean。

@Component
public class MyUser implements User {

    // private fields
    // getters and setters

    public void fillByName(String username) {
        userDao.select(username);
    }

}

显然,User对象对每个用户都应该是唯一的。我使用Spring Security,因此我的SecurityContextHolder中有用户名,我可以使用它来初始化User对象。

初始化的最佳做法是什么?我应该像会话范围的bean一样声明它吗?或者我应该将它保持为单身类并只更新每个请求的所有字段?或者也许我应该从Controller类为每个请求创建一个新的User对象?

1 个答案:

答案 0 :(得分:2)

我个人不喜欢将域对象作为组件。 我建议将MyUser作为类,并通过UserService(UserDao)获取此对象,这是一个组件。 当域对象意识到DAO时,它也不是一个好的设计。