使用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方法,若是同樣就不會。session