主要包括四類:@component、@repository @service、@controller
說明:@controller 控制層,就是我們的action層
@service 業務邏輯層,就是我們的service或者manager層
@repository 持久層,就是我們常說的dao層
@component (字面意思就是元件),它在你確定不了事哪乙個層的時候使用。
其實,這四個註解的效果都是一樣的,spring都會把它們當做需要注入的bean載入在上下文中;但是在專案中,卻建議你嚴格按照除componen的其餘三個註解的含義使用在專案中。這對分層結構的web架構很有好處。
示例:1. 控制層
@controller // 注釋為controller
@scope("prototype")
public class loginaction
public string registpost(user user)
}引數:
username=***&password=yyy
----------------
class user
(1)loginaction使用了@scope註解,@scope("prototype")表示將action的範圍宣告為原型,可以利用容器的scope="prototype"來保證每乙個請求有乙個單獨的action來處理,避免struts中action的執行緒安全問題。spring 預設scope 是單例模式(scope="singleton"),這樣只會建立乙個action物件,每次訪問都是同一action物件,資料不安全,struts2 是要求每次次訪問都對應不同的action,scope="prototype" 可以保證當有請求的時候都建立乙個action物件。
(2)@pathvariable("user") string user是url中變數的獲取。
(4)常見的引數型別
1).httpservletrequest、httpservletresponse或httpsession。
2).新增了@requestparam註解的任意型別的請求引數
3).新增了@modelattribute註解的任意型別的模型屬性
4).任意型別的命令物件,供spring繫結請求引數
5).map或者modelmap,供處理程式方法向模型新增屬性
6).errors或者bindingresult,讓處理程式方法訪問命令物件的繫結和驗證結果
7).sessionstatus,讓處理程式方法發出會話處理已經完成的通知
(5)常見的返回值型別
處理程式方法的返回型別可以是modelandview、model、map、string、void
2. 業務邏輯層
@service("userservice")
public class userserviceimpl implements iuserservice
(1)@autowired暴露的required屬性,這是承擔著依賴性檢查任務的重要屬性。預設時,凡是應用了@autowired註解的屬性和方法都必須找到合適的協作者,否則di容器會丟擲異常,通過調整required屬性取值能夠改變這一行為,當@autowired註解的required屬性設定為false時,即使未找到合適的協作者,異常都始終不會被丟擲。
(2)@autowired註解能夠作用於構建器、屬性、方法。這裡的方法不侷限於設值方法,即setter方法,常見的各種方法都可以應用這一註解。
3. 持久層
@repository("userdao")
public class userdaoimpl implements iuserdao
4. 持久層
@component("component")
public class testcompoment
}
(1)在類上使用@component註解,表示該類定義為spring管理bean,使用預設value(可選)屬性表示bean識別符號。
(2)這是所有受spring 管理元件的通用形式,@component註解可以放在類的頭上,@component不推薦使用。
SpringMVC入門之註解式控制器
上面一篇寫的是配置式的控制器現在已經不推薦使用了,其實註解式控制器和它的差不多只不過 更簡潔而已!1.還是在web.xml中進行配置dispatcherservlet spring org.springframework.web.servlet.dispatcherservlet contextco...
Spring MVC 學習之基於註解的控制器
1.乙個控制器可以處理多個動作 spring使用掃瞄機制來找到應用程式中所有基於註解的控制器,為了保證spring能夠找到控制器 1 springmvc的配置檔案中生命spring context,如下 xmlns context 2 需要應用元素 如下所示 若所有的控制類都在com.example...
spring MVC之用註解開發控制器 一
spring mvc之用註解開發控制器 一 在傳統的spring mvc開發方法中,必須在bean配置檔案中為每個控制器類配置例項和請求對映。如果spring mvc可以自動偵測你的控制器類和請求對映,就能減少配置所需要的工作量。此外,讓每個控制器類去實現或者擴充套件特定於框架的介面或者基類,也不夠...