1
我有一個小的Spring MVC應用程序,其中一些類依賴於User對象。Spring MVC:User object bean best practive
我想將它聲明爲@Component,所以我可以從任何地方用@Autowired註解來訪問這個bean。
@Component
public class MyUser implements User {
// private fields
// getters and setters
public void fillByName(String username) {
userDao.select(username);
}
}
很明顯,用戶對象應該是唯一的每個用戶。我使用Spring Security,所以在我的SecurityContextHolder中有用戶名,我可以使用它來初始化用戶對象。
初始化的最佳做法是什麼?我應該聲明它像會話範圍的bean嗎?或者我應該保持它作爲單身人士課程,只是爲每個請求更新所有領域?或者,也許我應該爲每個請求從Controller類創建一個新的用戶對象?
好的,謝謝。但是,我應該通過UserDao爲Controller類中的每個請求創建User對象嗎?或者我必須在會話中存儲一次選定的用戶對象? – 2015-04-04 22:19:32
如果您的應用程序未水平縮放,則將用戶保存在會話中是正常操作。如果您沒有使用DAO層的緩存,每次從數據庫獲取對象可能會很昂貴。 – Stan 2015-04-04 22:23:33
而且,Controller類是創建我的User對象的正確位置嗎? – 2015-04-04 22:24:18