javascript
SpringMVC相关常用注解
@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 DELETE3、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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue中将网页以pdf格式下载
- 下一篇: ssm+JSP计算机毕业设计游戏装备交易