SpringMVC註解控制器詳解

2021-07-02 00:29:41 字數 2063 閱讀 4701

主要包括四類:@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可以自動偵測你的控制器類和請求對映,就能減少配置所需要的工作量。此外,讓每個控制器類去實現或者擴充套件特定於框架的介面或者基類,也不夠...