因為寫程序的時候有地方報錯,我找了好久才發現原來是有個注解沒加、于是我學習了幾種注解。
@Controller:@Controller對應表現層的Bean,也就是Action,使用@Controller注解標識類TestAction之后,就表示要把UserAction交給Spring容器管理,在Spring容器中會存在一個名字為"testAction"的action,這個名字是根據TestAction類名來取的。注意:如果@Controller不指定其value【@Controller】,則默認的bean名字為這個類的類名首字母小寫,如果指定value【@Controller(value="TestAction")】或者【@Controller("TestAction")】,則使用value作為bean的名字。
@Scope:@Scope("type")表示將Action的范圍聲明為原型,可以利用容器的scope="type"來保證每一個請求有一個單獨的Action來處理,避免struts中Action的線程安全問題。spring默認scope是單例模式(scope="singleton"),這樣只會創建一個Action對象,每次訪問都是同一Action對象,數據不安全,struts2是要求每次次訪問都對應不同的Action,scope="type"可以保證當有請求的時候都創建一個Action對象:
@Resource:默認安裝名稱進行裝配,名稱可以通過name屬性進行指定,如果沒有指定name屬性,當注解寫在字段上時,默認取字段名進行安裝名稱查找,如果注解寫在setter方法上默認取屬性名進行裝配。當找不到與名稱匹配的bean時才按照類型進行裝配。但是需要注意的是,如果name屬性一旦指定,就只會按照名稱進行裝配。
@Component:當某個類算比較中立的類的時候,就用這個注解為它進行標注。
@Deprecated:@Deprecated的作用是對不應該在使用的方法添加注釋,當編程人員使用這些方法時,將會在編譯時顯示提示信息