spring的幾種註解的用法

2021-09-02 04:22:21 字數 1443 閱讀 2304

1、@controller 控制器(注入服務)

2、@service 服務(注入dao)

3、@repository dao(實現dao訪問)

4、@component (把普通pojo例項化到spring容器中,相當於配置檔案中的)

@component,@service,@controller,@repository註解的類,並把這些類納入進spring容器中管理。

下面寫這個是引入component的掃瞄元件

其中base-package為需要掃瞄的包(含所有子包)

1、@service用於標註業務層元件

2、@controller用於標註控制層元件(如struts中的action)

3、@repository用於標註資料訪問元件,即dao元件.

4、@component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。

@service public class userserviceimpl implements userservice

@repository public class userdaoimpl implements userdao getbean的預設名稱是類名(頭字母小寫),如果想自定義,可以@service(「***」) 這樣來指定,這種bean預設是單例的,如果想改變,可以使用@service(「beanname」)

@scope(「prototype」)來改變。可以使用以下方式指定初始化方法和銷毀方法(方法名任意): @postconstruct public void init()

spring 預設scope 是單例模式

這樣只會建立乙個action物件

每次訪問都是同乙個action物件,資料不安全

struts2 是要求 每次次訪問 都對應不同的action

scope="prototype" 可以保證 當有請求的時候 都建立乙個action物件

當我們在乙個action類裡面寫很多個方法的時候(其實是一種按功能劃分模組程式設計的思想),每個方法的返回狀態可能不一樣,如果action中不@scope("prototype"),有可能報找不到***action的錯誤!寫上這個就表示每次請求都重新建立乙個action,與singalon對應,俗稱「多例」。

我們專案中用@component標註了action,我改為@controller也可以用,於是我查了一下資料,原來:

spring 2.5 在 @repository的基礎上增加了功能類似的額外三個註解:@component、@service、@constroller,它們分別用於軟體系統的不同層次:

@component 是乙個泛化的概念,僅僅表示乙個元件 (bean) ,可以作用在任何層次。

@service 通常作用在業務層,但是目前該功能與 @component 相同。

@constroller 通常作用在控制層,但是目前該功能與 @component 相同。

spring幾種註解的應用

spring幾種註解的應用 一 controlleradvice assignabletypes paycontroller.class 相當於spring的後置處理器執行通知,aop的環繞通知 controlleradvice assignabletypes paycontroller.class...

Spring註解用法

而是呼叫適合httpmessageconverter,將返回值寫入輸出流。post方式請求,封裝引數pages,屬性分頁引數屬性 post方式請求,封裝引數userview,屬性username,pwd ajaxresult自己封裝的返回類,返回型別主要以json為主 public ajaxresu...

Spring 中常用的幾種註解

spring 2.5 中除了提供 component 注釋外,還定義了幾個擁有特殊語義的注釋,它們分別是 repository service 和 controller。在目前的 spring 版本中,這 3 個注釋和 component 是等效的,但是從注釋類的命名上,很容易看出這 3 個注釋分別...