日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

SpringMVC相关常用注解

發(fā)布時(shí)間:2023/12/29 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC相关常用注解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

@Controller:

?? ?@Controller?用于標(biāo)記在一個(gè)類上,使用它標(biāo)記的類就是一個(gè)SpringMVC Controller?對(duì)象

@RequestMapping:

RequestMapping是一個(gè)用來處理請(qǐng)求地址映射的注解,可用于類或方法上。

列子:@RequestMapping(value = "/testRestPut/{id}", method = RequestMethod.PUT)

RequestMapping注解有六個(gè)屬性:

  1、 value

    value:指定請(qǐng)求的實(shí)際地址;

? ? ?2、method;

    method: 指定請(qǐng)求的method類型, GET、POST、PUT、DELETE等

Rest 風(fēng)格的 URL(以 CRUD 為例):* 新增:/order POST* 修改:/order/1 PUT* 獲取:/order/1 GET* 刪除:/order/1 DELETE

3、consumes

    consumes: 指定處理請(qǐng)求的提交內(nèi)容類型(Content-Type),例如application/json, text/html;

  4、produces

    produces:??? 指定返回的內(nèi)容類型,僅當(dāng)request請(qǐng)求頭中的(Accept)類型中包含該指定類型才返回;

  5、params

    params: 指定request中必須包含某些參數(shù)值是,才讓該方法處理。

  6、headers

    headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請(qǐng)求。

<!-- xml配置視圖解析器:如何把 handler 方法返回值解析為實(shí)際的物理視圖 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><property name="suffix" value=".jsp"></property></bean>

@RequestMapping("/helloword/?/aa") 的?Ant?路徑,匹配符:
?    ?:匹配文件名的一個(gè)字符
?    *:匹配文件名的所有字符
    ?**:匹配多層路徑

@Resource和@Autowired

列子:

// 下面兩種@Autowired只要使用一種即可@Autowiredprivate UserDao userDao; // 用于字段上@Autowiredpublic void setUserDao(UserDao userDao) { // 用于屬性的方法上this.userDao = userDao;} // 下面兩種@Resource只要使用一種即可@Resource(name="userDao")private UserDao userDao; // 用于字段上@Resource(name="userDao")public void setUserDao(UserDao userDao) { // 用于屬性的setter方法上this.userDao = userDao;}

1、共同點(diǎn)

    兩者都可以寫在字段和setter方法上。兩者如果都寫在字段上,那么就不需要再寫setter方法。

2、不同點(diǎn)

  (1)@Autowired

    @Autowired為Spring提供的注解,需要導(dǎo)入包org.springframework.beans.factory.annotation.Autowired;只按照byType注入。

(2)@Resource

    @Resource默認(rèn)按照ByName自動(dòng)注入,由J2EE提供,需要導(dǎo)入包javax.annotation.Resource。@Resource有兩個(gè)重要的屬性:name和type,而Spring將@Resource注解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。

@PathVariable:

用于將請(qǐng)求URL中的模板變量映射到功能處理方法的參數(shù)上,即取出uri模板中的變量作為參數(shù)。

列子:
@RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET) public String getLogin(@PathVariable("userId") String userId

@CookieValue:

列子:

@RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET) public String getLogin(@PathVariable("userId") String userId

作用:用來獲取Cookie中的值;

  參數(shù): value:參數(shù)名稱 ??required:是否必須 ?defaultValue:默認(rèn)值

@RequestParam:

列子:

@RequestMapping("/testRequestParam")public String testRequestParam(@RequestParam("id") int id)

  @RequestParam用于將請(qǐng)求參數(shù)區(qū)數(shù)據(jù)映射到功能處理方法的參數(shù)上

@SessionAttributes:

列子:

@SessionAttributes(value = {"user"}, types = {String.class})

@SessionAttributes即將值放到session作用域中,寫在class上面。

@SessionAttributes 除了可以通過屬性名指定需要放到會(huì)話中的屬性外(value 屬性值)

@SessionAttributes除了可以通過屬性名指定需要放到會(huì)話中的屬性外(value 屬性值),還可以通過模型屬性的對(duì)象類型指定哪些模型屬性需要放到會(huì)話中(types 屬性值)。注意: 該注解只能放在類的上面,不能放在方法上面

@ModelAttribute:

該Controller的所有方法在調(diào)用前,先執(zhí)行此@ModelAttribute方法,可用于注解和方法參數(shù)中,可以把這個(gè)@ModelAttribute特性,應(yīng)用在BaseController當(dāng)中,所有的Controller繼承BaseController,即可實(shí)現(xiàn)在調(diào)用Controller時(shí),先執(zhí)行@ModelAttribute方法。

@ResponseBody 

  作用:?該注解用于將Controller的方法返回的對(duì)象,通過適當(dāng)?shù)腍ttpMessageConverter轉(zhuǎn)換為指定格式后,寫入到Response對(duì)象的body數(shù)據(jù)區(qū)。

使用時(shí)機(jī):返回的數(shù)據(jù)不是html標(biāo)簽的頁(yè)面,而是其他某種格式的數(shù)據(jù)時(shí)(如json、xml等)使用

?

轉(zhuǎn)載于:https://www.cnblogs.com/yhm9/p/10452900.html

總結(jié)

以上是生活随笔為你收集整理的SpringMVC相关常用注解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。