您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“SSM框架中常用注解有哪些”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“SSM框架中常用注解有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
@Controller:在SpringMVC 中,控制器Controller 負責處理由DispatcherServlet 分發(fā)的請求,它把用戶請求的數據經過業(yè)務處理層處理之后封裝成一個Model ,然后再把該Model 返回給對應的View 進行展示。在SpringMVC 中提供了一個非常簡便的定義Controller 的方法,你無需繼承特定的類或實現特定的接口,只需使用@Controller 標記一個類是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定義URL 請求和Controller 方法之間的映射,這樣的Controller 就能被外界訪問到。此外Controller 不會直接依賴于HttpServletRequest 和HttpServletResponse 等HttpServlet 對象,它們可以通過Controller 的方法參數靈活的獲取到。
@GetMapping:Spring4.3中引進了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},來幫助簡化常用的HTTP方法的映射,并更好地表達被注解方法的語義。以@GetMapping為例,Spring官方文檔說:@GetMapping是一個組合@RequestMapping(method = RequestMethod.GET)的縮寫。該注解將HTTP Get 映射到 特定的處理方法上。
produces = "application/json":@RequestMapping(value = "/produces", produces = "application/json"):表示將功能處理方法將生產json格式的數據,此時根據請求頭中的Accept進行匹配,如請求頭“Accept:application/json”時即可匹配;@RequestMapping(value = "/produces", produces = "application/xml"):表示將功能處理方法將生產xml格式的數據,此時根據請求頭中的Accept進行匹配,如請求頭“Accept:application/xml”時即可匹配。此種方式相對使用@RequestMapping的“headers = "Accept=application/json"”更能表明你的目的。
@ResponseBody:該注解用于將Controller的方法返回的對象,通過適當的HttpMessageConverter轉換為指定格式后,寫入到Response對象的body數據區(qū)。使用時機:返回的數據不是html標簽的頁面,而是其他某種格式的數據時(如json、xml等)使用;那么只需刪除注解:@ResponseBody 便可以返回頁面pay/success.jsp。而且達到了與客戶端后臺交互的效果。
@RequiresRoles:在controller控制器中的一個方法里面使用@RequireRoles("admin")注解,說明訪問該方法時,需要admin角色才能訪問。
@ApiOperation:@ApiOperation不是spring自帶的注解是swagger里的 com.wordnik.swagger.annotations.ApiOperation;@ApiOperation和@ApiParam為添加的API相關注解,個參數說明如下: @ApiOperation(value = “接口說明”, httpMethod = “接口請求方式”, response = “接口返回參數類型”, notes = “接口發(fā)布說明”;其他參數可參考源碼; @ApiParam(required = “是否必須參數”, name = “參數名稱”, value = “參數具體描述”
實際項目中非常需要寫文檔,提高Java服務端和Web前端以及移動端的對接效率。Swagger是當前最好用的Restful API文檔生成的開源項目,通swagger-spring項目實現了與SpingMVC框架的無縫集成功能,方便生成spring restful風格的接口文檔,同時swagger-ui還可以測試spring restful風格的接口功能。
@RestController:返回string或者json的話就直接用@RestController。如果想要頁面跳轉的話,就使用@Controller。一開始就有個疑問,就是我想在一個類中既能返回string或者json又能進行頁面跳轉怎么辦。在這篇文章中介紹的非常詳細,簡單說來@RestController = @Controller + @ResponseBody。所以,以后定義controller的時候,可以直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody即可。
@RequiresPermissions("system:*"):shiro中的注解
@SuppressWarnings("SpringJavaAutowiringInspection"):該批注的作用是給編譯器一條指令,告訴它對被批注的代碼元素內部的某些警告保持靜默。
@Deprecated:用 @Deprecated注釋的程序元素,不鼓勵程序員使用這樣的元素,通常是因為它很危險或存在更好的選擇。在使用不被贊成的程序元素或在不被贊成的代碼中執(zhí)行重寫時,編譯器會發(fā)出警告。
@Transient: 該注解,是Hibernate等框架的注解。 實體類中使用了@Table注解后,想要添加表中不存在字段,就要使用@Transient這個注解了。
@Table:@Entity注釋指名這是一個實體Bean,@Table注釋指定了Entity所要映射帶數據庫表,其中@Table.name()用來指定映射表的表名。如果缺省@Table注釋,系統(tǒng)默認采用類名作為映射表的表名。實體Bean的每個實例代表數據表中的一行數據,行中的一列對應實例中的一個屬性。
@component (把普通pojo實例化到spring容器中,相當于配置文件中的<bean id="" class=""/>)
讀到這里,這篇“SSM框架中常用注解有哪些”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。