spring註解和springmvc容器初始化過程

2021-07-23 04:47:36 字數 2656 閱讀 5916

本節主要通過乙個自定義註解了解註解是什麼,然後簡要介紹下spring註解分類和作用,最後簡要概括一下web spring容器初始化過程;

1、自定義annotation_my註解

@target()

@inherited

@documented

@retention(retentionpolicy.runtime)

public @inte***ce annotation_my

上面是按照定義規範自定義乙個註解介面,@annotation_my,你也可以把註解理解為乙個介面,其實他就是乙個注釋作用;然後定義person介面

public inte***ce person

實現介面(student)

@annotation_my

@suppresswarnings("unused")

public class student implements person

@override

@annotation_my(say=" hello world  !")

public void say()

@override

@annotation_my(age=20)

public void age()

}這裡使用了上面自定義註解,在類外部使用,相當於@component,然後方法上面定義的註解,相當於方法的註解;最後我們來使用test類測試一下效果,如下:

通過測試可以知道,註解其實就是注釋的作用,annotation = stu.getannotations();通過注釋(繫結到類或方法上),可以給當前物件定義一系列初始操作,比如定義類名稱,其他屬性等;這樣定義好後,spring容器掃瞄類時候,就能通過註解找到不同定義型別的類,然後進行初始化物件等操作。

2、下面介紹一下spring經常使用的註解

通用類註解 @component,業務層註解@service,資料訪問層@reposity ,controller控制器層@controller,事務@transaction,相當於xml配置時候的class;@autowired@resource對類內部成員屬性進行註解,相當於xml配置的property。使用時候根據情況,可以設定name值,比如@component("boss"),因為初始化時預設類是singleton的,這個boss相當於xml配置的id名稱,也就是物件id,到時候物件工廠可以通過beanfactory bf = (beanfactory) reg;

object o = bf.getbean("boss")來找到物件。

3、springmvc初始化過程

tomcat容器為例,當啟動web服務時候,初始化spring容器,web.xml中兩個地方配置;乙個是監聽,乙個是dispatcher,如下:

contextconfiglocation

classpath:beans.xml

org.springframework.web.context.contextloaderlistener

和 springmvc

org.springframework.web.servlet.dispatcherservlet

contextconfiglocation

classpath:spring-mvc.xml1

web載入配置檔案,首先初始化spring監聽服務,讀取beans.xml配置檔案,該檔案一般配置有資料來源、sqlsessionfactory、事務和bean等,按照順序載入,當讀取到 配置時候,開啟spring掃瞄操作,容器會讀取com目錄及子目錄,掃瞄含有@註解標誌的class檔案,掃瞄是按照類目遞迴進行:比如,掃瞄com.controller目錄的乙個useraction類時,上面含有@controller註解,beanfactory裝配該類例項(初始化就是生成beandefinition的例項,beandefinition例項是用來描述bean結構,一般還沒有例項化bean)將beandefinition例項放入bean工廠,接著掃瞄類檔案中含有@註解的屬性,比如@autowire或@resource的屬性,一般是service,裝配該類,放入工廠;如此反覆進行,裝配所有類檔案。具體過程可以參考這篇文章。

Spring 框架 spring註解的引入和使用

xmlns context spring context.xsd 必須 註解配置引入 該配置隱式引入了spring註解處理器bean autowiredannotationbeanpostprocessor 自動裝配 commonannotationbeanpostprocessor 共同註解 re...

Spring註解方式和註解小結

用於建立物件的4種註解方法 component 註解 beans xmlns xmlns xsi xmlns context xsi schemalocation spring beans.xsd spring context.xsd 在其實現類上新增註解 component userservice...

Spring註解 Import註解

常用的匯入註解分類 註冊自己寫的類service dao controller可用包掃瞄 元件標註註解 controller service repository component bean 匯入的第三方包裡面的元件 import 快速給容器中匯入乙個元件 1 import 要匯入到容器中的元件 ...