當作用域範圍為singleton時,在初始化Spring容易的時候執行個體化bean執行個體,為預設值。
當作用域範圍為prototype時,在調用Spring的getBean的方法時執行個體化bean對象
@Component泛指元件,當元件不好歸類的時候,我們可以使用這個注解進行标注。
@Controller用于标注控制層元件(如webwork、struts2中的action)
@Service用于标注業務層元件
@Repository用于标注資料通路元件,即DAO元件
備注:在典型的MVC三層開發模式下,強烈建議使用@Controller、 @Service、@Repository來嚴格區分
Action的注解 需要考慮是否加 @Scope注解。
有狀态的Action(即有輸入參數的),一定要@Scope("prototype")
無狀态的Action(沒有任務輸入參數),可以不加。
備注: 預設情況下,通過@Component定義的bean,都是 singleton.
所有不加的話會預設為@Scope("singleton ")
而@Controller、 @Service、@Repository定義時,亦是如此!