SpringMVC--常用註解(詳解)
SSH每個框架,都要有自己的xml配置檔案,這些配置檔案要跟原始碼同步,否則很容易報錯。當初做網上商城專案的時候,就是因為這個原因,看的眼花繚亂,很是頭疼。註解的作用跟配置檔案的作用是一樣的,它不僅僅包含功能性的程式碼實現,還可以新增後設資料(對資料的描述)。但是跟註釋功能一個天南一個海北,它不是用來為程式碼提供說明性文字的,而是實現程式功能的重要組成部分。下面,我對比的介紹一下SpringMVC常用的一些註解。
@Controller
註解作用:
註冊Bean到Spring上下文,Bean的預設ID為類名稱首字母小寫,也可以自己指定。
@Controller
@RequestMapping("/danyuan")
public class FqDanyuanAction extends BaseAction {
}
對比ssh注入方式:
對比spring.xml 向bean注入Service<!-- 商品模組的Action -->
<bean id="productAction" class="cn.itcast.shop.product.action.ProductAction" scope="prototype">
<property name="productService" ref="productService"/>
</bean>
@RequestMapping(value="",method={"",""},headers={},params={"",""})
引數:
value:設定訪問地址
method:設定訪問方式,常用的method=RequestMethod.POST,和method=RequestMethod.GET
headers:頭域,可以設定瀏覽器支援的格式
params:訪問引數設定
註解作用:
用來定義訪問的url。可以是方法級別的,也可以是類級別的。兩者可以協同工作,縮小選擇範圍。也可以隱藏程式碼的真實路徑,更加具有安全性和可讀性。
對比Servlet的get提交:
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{}
RequestMapping囊括了更多可配置的引數,不僅僅有提交表單的方式,而且有方法級別響應url請求的地址等資訊,更加靈活。@Autowired
註解作用:
可以對成員變數、方法和建構函式進行標註,來完成自動裝配工作。可以消除get,set方法。
@Autowired
private FqGongnengService gongnengService;
action裡面get,set注入
// 注入商品的Service
private ProductService productService;
public void setProductService(ProductService productService) {
this.productService = productService;
}
@ResponseBody
註解作用:
直接放在方法上,表示返回型別將會直接作為Http響應位元組流輸出,可以用於Ajax。
@Valid
註解作用:
實體設定+類+類的引用,直接將頁面中封裝的實體物件資訊封裝@Valid後面定義的實體中。
@RequestMapping(value="/editDishInfo.json", method=RequestMethod.POST)
@ResponseBody
public Object updateDishInfo(@Valid SnDishInfo dishInfo, BindingResult result, HttpServletRequest request){
if(result.hasErrors()){
return getServiceErrors(result);
}
//獲取當前登入使用者的使用者名稱
String loginuser = getLoginUsername(request);
dishInfo.setLmuser(loginuser);
//修改菜品分類資訊
return dishInfoService.updateDishInfo(dishInfo, request);
}
有了這個註解,就不用request.getParameter("")了,jsp頁面上控制元件的name屬性 跟實體欄位一樣,這樣不用主動獲取,就能自動的拿到頁面控制元件的值了。@RequestParam(required=,value="",defaultValue="")
引數:
required:引數是否必須,boolean型別,預設為true
value:傳遞的引數名稱,String型別,可選項,有值則對應方法的引數
defaultValue:引數沒有傳遞時為引數預設指定的值
/**
* 獲取單元列表資料
*
* @param scfquuid
* @param page
* @param pagesize
* @param sortname
* @param sortorder
* @param request
* @return
*/
@RequestMapping(value="/listdata.json" , method={RequestMethod.GET, RequestMethod.POST})
public ListData listdata(@RequestParam(value="leftData")String scfquuid,
Integer page, Integer pagesize, String sortname, String sortorder, HttpServletRequest request){
if(page==null){
page = 1;
}
if(pagesize==null){
pagesize = getDefaultPageSize();
}
ListData data = danyuanService.list(scfquuid, page, pagesize, sortname, sortorder);
return data;
}
leftData是頁面框架中定義的全域性變數,通過RequestParam就可以拿到全域性變數的值,並賦值給scfquui了。
@PathVariable
註解作用:
用於方法中的引數,表示方法引數繫結到地址URL的模板
相關文章
- springmvc常用註解標籤詳解SpringMVC
- SwaggerAPI註解詳解,以及註解常用引數配置SwaggerAPI
- 詳解Spring MVC 4常用的那些註解SpringMVC
- git常用命令(詳細註解)Git
- Spring 常用的註解以及對應 XML 配置詳解SpringXML
- Lombok常用註解Lombok
- Lombok 註解詳解Lombok
- Java註解詳解Java
- Java 註解詳解Java
- @FeignClient註解詳解client
- springmvc註解詳解SpringMVC
- Java註解(Annotation)詳解Java
- Spring註解詳解Spring
- Java註解詳解「註解專案實戰」Java
- Spring常用註解Spring
- springboot常用註解大全(超詳細, 30個)Spring Boot
- Java ”框架 = 註解 + 反射 + 設計模式“ 之 註解詳解Java框架反射設計模式
- spring 框架常用註解Spring框架
- MyBatisPlus-常用註解MyBatis
- Springboot 常用註解Spring Boot
- SpringMvc的常用註解SpringMVC
- Java註解最全詳解(超級詳細)Java
- Spring IoC 公共註解詳解Spring
- Google-Gson註解使用詳解Go
- Lombok的常用註解有哪些Lombok
- Spring MVC常用的註解SpringMVC
- Java註解處理器使用詳解Java
- spring常用的一些註解以及註解注入總結Spring
- 002 SpringBoot 常用註解Spring Boot
- springboot常用註解記錄Spring Boot
- Spring MVC 常用註解的使用SpringMVC
- Spring IOC 常用註解與使用Spring
- SpringMvc的常用註解介紹SpringMVC
- swagger常用註解搬運Swagger
- springboot搭建以及常用註解Spring Boot
- AndroidAnnotation常用註解使用說明Android
- Java 執行時(RUNTIME)註解詳解Java
- springboot介面接參註解詳解Spring Boot