springmvc常用的註解及其含義
阿新 • • 發佈:2019-01-07
1.@Controller
作用: 告訴springmvc的dispatcherServlet這是一個Controller然後被dispatcherServlet的上下文所管理,
並且完成它的依賴注入
2. @Service
作用:這個註解常用於標註業務層元件
3. @Autowired
作用:它可以對類成員變數、方法及建構函式進行標註,完成自動裝配的工作
@Autoware預設按型別匹配注入Beanrequired屬性:如果希望Spring即使找不到匹配的Bean完成注入也不要丟擲異常,那麼可以使用@Autoware(required=false)進行標註:作用:@RequestMapping 標記在Controller 類上的時候,裡面使用@RequestMapping 標記的方法的請求地址都是
相對於類上的@RequestMapping 而言的;當Controller 類上沒有標記@RequestMapping 註解時,方法上的
@RequestMapping 都是絕對路徑。這種絕對路徑和相對路徑所組合成的最終路徑都是相對於根路徑“/ ”而言的。
[email protected]、@PathVariable
作用:兩者的作用都是將request裡的引數的值繫結到contorl裡的方法引數裡的,區別在於,url不同(1)@PathVariable的url是這樣的:http://host:port/.../path/引數值@RequestMapping("/bookings/{booking}") public String getBooking(@PathVariable Long booking) { } (2)@RequestParam的url是這樣的:http://host:port/.../path?引數名=引數值@RequestMapping(method = RequestMethod.GET)public String setupForm(@RequestParam("petId") int petId, ModelMap model) {
[email protected](確切的說是@Resource註解是由J2EE提供)
作用:@Resource要求提供一個Bean名稱的屬性(name),如果屬性為空,
則自動採用標註處的變數名或方法名作為Bean的名稱。
@resource註解就是把一個bean注入到當前的類中,可以不必通過配置檔案或者導包的方式注入就可以使用該bean,預設是ByName的方式注入,如:@resource(name=“personDaoBean”)private personDaoBean personDaobean;這樣就可以直接使用personDaoBean這個Bean,以及其setter和getter方法。 8. @ResponseBody 作用:該註解用於將Controller的方法返回的物件,根據HTTP Request Header的Accept的內容,
通過適當的HttpMessageConverter轉換為指定格式後,寫入到Response物件的body資料區。使用時機:返回的資料不是html標籤的頁面,而是其他某種格式的資料時(如json、xml等)使用。配置返回JSON和XML資料 [email protected]
作用: @Component泛指元件,當元件不好歸類的時候,我們可以使用這個註解進行標註。
(把普通pojo例項化到spring容器中,相當於配置檔案中的<bean id="" class=""/>)
10. @Scope
作用: @scope 就是用來配置 spring bean 的作用域,它標識 bean 的作用域。
@Scope 簡單點說就是用來指定bean的作用域
scope用來宣告IOC容器中的物件應該處的限定場景或者說該物件的存活空間,即在IOC容器在物件進入相應的scope之前,生成並裝配這些物件,在該物件不再處於這些scope的限定之後,容器通常會銷燬這些物件 [email protected] 作用:Spring 配置檔案中 dependency-check 依賴檢查的靈活性不夠,並不能滿足我們所有的需求
Spring還提供一種更加靈活的檢查方式
注意:@required只能注設定到setter方法上面 [email protected] 作用:我們知道,@Autowired預設是按照型別裝配注入的,如果想按照名稱來轉配注入,則需要結合@Qualifier一起使用
@Autowired通過此註解完成從spring配置檔案中 查詢滿足studentDao型別的bean
@Qualifier("studentDao")則按照名稱經行來查詢轉配的
[email protected]
作用:它用於將資料訪問層 (DAO 層 ) 的類標識為 Spring Bean。具體只需將該註解標註在 DAO類上即可。
同時,為了讓 Spring能夠掃描類路徑中的類並識別出 @Repository 註解,需要在 XML 配置檔案中啟用Bean
的自動掃描功能,這也可以通過<context:component-scan/>實現。