轉自:http://notebookdong.iteye.com/blog/1869852
使用SpringMVC的時候,如果想要在Controller中定義一個全局變量,並且實現在不同用戶訪問程序的時候,所得到的全局變量不一樣的(線程安全的),這個時候就可以用Spring的注解@Scope來實現:
@Controller //把這個bean 的范圍設置成session,表示這bean是會話級別的, @Scope("session") public class XxxController{ private List<String> list ; //@PostConstruct當bean加載完之后,就會執行init方法,並且將list實例化; @PostConstruct public void init(){ list = new ArrayList<String>(); } }
當我們首次訪問這個Controller的時候,他會根據判斷這個會話是不是處於同一個session中,如果是一個新的,容器會執行init方法,如果一樣就不會。