1. 程式人生 > >Spring中一些註釋的理解

Spring中一些註釋的理解

@RequestMapping(引數)

引數path ,value 都是路徑,可以存在多個路徑,當在瀏覽器中輸入相應路徑都會對應到該Mapping下的函式中,進行處理

如輸入localhost:8080/profile,localhost:8080/name,localhost:8080/p

@RequestMapping(path = {"/home", "/test1"})//路徑 路徑別名(其實就是兩個路徑對應同一個東西)
@ResponseBody//返回字串而不是模板
public String home1() {
    return "testhome1";
}

引數param,可以指定輸入引數為固定的值時由該函式處理

@RequestMapping(path = {"/fetch"}, params = {
        "personId=10"
},method = RequestMethod.GET)//
@ResponseBody
public String getParams(@RequestParam("personId") int id) {
    return "Fetched parameter using params attribute = " +id;
}

@RequestMapping(value = "/fetch", params = {
        "personId=20"
},method = RequestMethod.GET)
@ResponseBody
public String getParamsDifferent(@RequestParam("personId") String id) {
    return "Fetched parameter using params attribute = " + id;
}

@ResponseBody

如果的話就會返回字串(return 字串),如果沒有的話就會返回字串對應的模板(html)

@PathVariable

傳遞的是路徑裡面的引數如下面的userId,相當於給param = userId(自己寫的)

@RequestMapping(path = {"/profile/{userId}"})//{}代表路徑裡面的引數  value={} 和path一個效果
@ResponseBody//返回字串而不是模板
public String home2(@PathVariable("userId") String param) {//@ 取了路徑中的引數,用別名代替
    return "testhome1" + "使用者:" + param + "的";
}

@RequestParam

路徑中提交的引數,如@RequestMapping(path = {"/like"})

此時在瀏覽器中輸入localhost:8080/like?user=aa&id=10&countryId=20

@RequestMapping(value = "/like",params = {
        "countryId=20"
},method = RequestMethod.GET)
@ResponseBody
public String like(@RequestParam("user") String User,@RequestParam("id") String Id,@RequestParam("countryId") String country) {
    return "使用者名稱:"+User+"<br/>"+"id號:"+Id+"<br/>"+"國家:"+country;
}

注意:

@RequestParam中的引數是@RequestMapping中的path在瀏覽器中輸入後 通過?連線,多個引數使用&連線中的值,@RequestMapping中不包含或者通過param引數指定特定輸入值

@PathVariable是@RequestMapping中的path中的內容,在@RequestMapping中以/連線{}包裝,也就是 @RequestMapping中包含

小白剛剛開始摸索,如有錯誤請不吝指出,非常感謝