Spring中幾個常見的註解(2019.9.22)

@Controller

SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發的請求,它把用戶請求的數據經過業務處理層處理之後封裝成一個Model ,然後再把該Model 返回給對應的View 進行展示。在SpringMVC 中提供了一個非常簡便的定義Controller 的方法,你無需繼承特定的類或實現特定的接口,只需使用@Controller 標記一個類是Controller ,然後使用@RequestMapping 和@RequestParam 等一些註解用以定義URL 請求和Controller 方法之間的映射,這樣的Controller 就能被外界訪問到。

@Service

服務層組件,用於標註業務層組件,表示定義一個bean(實體類),自動根據bean的類名實例化一個首寫字母爲小寫的bean,例如Chinese實例化爲chinese,如果需要自己改名字則:@Service(“你自己改的bean名”)。

@Repository

它用於將數據訪問層 (DAO 層 ) 的類標識爲 Spring Bean。具體只需將該註解標註在 DAO類上即可。

爲什麼 @Repository 只能標註在 DAO 類上呢?這是因爲該註解的作用不只是將類識別爲Bean,同時它還能將所標註的類中拋出的數據訪問異常封裝爲 Spring 的數據訪問異常類型。 Spring本身提供了一個豐富的並且是與具體的數據訪問技術無關的數據訪問異常結構,用於封裝不同的持久層框架拋出的異常,使得異常獨立於底層的框架。

@RequestMapping

RequestMapping是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作爲父路徑。

@Autowired

@Autowired 註釋,它可以對類成員變量、方法及構造函數進行標註,完成自動裝配的工作。

@ResponseBody

@ResponseBody註解的作用是將controller的方法返回的對象通過適當的轉換器轉換爲指定的格式之後(@ResponseBody的作用其實是將java對象轉爲json格式的數據。),寫入到response對象的body區,通常用來返回JSON數據或者是XML數據,需要注意的呢,在使用此註解之後不會再走試圖處理器,而是直接將數據寫入到輸入流中,他的效果等同於通過response對象輸出指定格式的數據。

@MapperScan

作用:指定要變成實現類的接口所在的包,然後包下面的所有接口在編譯之後都會生成相應的實現類

添加位置:是在Springboot啓動類上面添加。

@SpringBootApplication

啓動類註解(一般在root下):

該註解被@Configuration、@EnableAutoConfiguration、@ComponentScan 這三個註解所修飾

1、@SpringBootConfiguration繼承自@Configuration,二者功能也一致,標註當前類是配置類,並會將當前類內聲明的一個或多個以@Bean註解標記的方法的實例納入到spring容器中,並且實例名就是方法名。

2、@EnableAutoConfiguration:是spring boot的核心功能,自動配置。這個註釋告訴SpringBoot“猜”你將如何想配置Spring,基於你已經添加jar依賴項。如果spring-boot-starter-web已經添加Tomcat和Spring MVC,這個註釋自動將假設您正在開發一個web應用程序並添加相應的spring設置.

通常推薦將 @EnableAutoConfiguration 配置在 root 包下,這樣所有的子包、類都可以被查找到。

3、@ComponentScan

通俗的講,@ComponentScan 註解會自動掃描指定包下的全部標有 @Component註解 的類,並註冊成bean,當然包括 @Component 下的子註解@Service、@Repository、@Controller。@ComponentScan 註解沒有類似 、的屬性。

@requestParam

@requestParam主要用於在SpringMVC後臺控制層獲取參數,類似一種是request.getParameter(“name”),它有三個常用參數:defaultValue = “0”, required = false, value = “isApp”;defaultValue 表示設置默認值,required 通過boolean設置是否是必須要傳入的參數,value 值表示接受的傳入的參數類型。
3899690/article/details/101018964
歡迎訪問個人博客 www.maixiaogang.com

歡迎微信掃碼關注公衆號,精彩不斷
[打開微信掃碼關注]Alt

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章