springMVC常用注解标签解析

1.@Controller
在springMVC中,controller控制器用来处理DispacherServlet分发的请求,它把请求的数据经过业务逻辑层的处理封装成model,返回给view.
@Controller用于标记在一个类的上面,如果仅仅只是使用@Controller,还不能真正意义上说他是springMVC的一个控制类。以为这个时候spring 还不认识它。如何才能让spring认识呢,需要将这个控制器交给spring来管理。spring管理控制器有两种方式
a:springmvc的配置文件中定义myController中的bean对象

b:在springMVC的配置文件中告诉spring应该去什么地方找带有@Controller的控制器
< context:component-scan base-package = “com.host.app.web” />路径写到controller的上一层(扫描包详解见下面浅析)

2.@RequestMapping
这个是一个用于处理请求地址映射的注解,既可用于类上面,也可以用于方法上,用于类上,表示类中所有响应请求的方法都是以该地址作为父路径
RequestMapping注解有6个属性
value: 指定请求的实际地址
method: 指定请求的method类型(get/post)
consumes: 指定处理请求的的提交内容类型(Content- Type)application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
params: 指定request中必须包含某些参数值时,才让该方法处理
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求

3.Resource和Autowired
这两个注解都是做bean的注入时使用的,@Resource并不是spring的注解,它的包是javax.annotation.Resource,需要导入。

相同点:两个注解都可以写在字段和setter方法上。两个注解如果都写在字 段上,则不在需要setter方法

不同点:AutoWired是spring提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired;

最好将@Resource放在setter方法上,因为这样更符合面向对象的思想,通过set、get去操作属性,而不是直接去操作属性。

4.@ModelAttribute和@SessionAttributes
@ModelAttribute这个注解代表该controller中的所有方法在调用之前,先执行@ModelAttribute方法。可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。

SessionAttributes即将值放在session作用域中,写在class上。

5.@pathVariable
用于将请求的url模板中的变量映射到功能处理方法的参数上,即取出url模板中的变量作为参数。
@Controller
public class TestController {
@RequestMapping(value=”/user/{userId}”,method = RequestMethod.GET)
public String getLogin(@PathVariable(“userId”) String userId,
@PathVariable(“roleId”) String roleId){
System.out.println(“User Id : ” + userId);
return “hello”;
}

6.@RequestParam
这个注解主要用于后台控制层获取参数,和这个request.getParameter(“name”)差不多。他的三个常用参数
defaultvalue=”0”:表示的是默认值
required=false;通过Boolean设置是否是必须传入的参数
value=”isPC” 表示接受的传入参数的类型。

7.@ResponseBody
该注解用于将controller方法返回的对象,通过适当的转换HttpMessageConverter为指定格式后,写入到response的body区域中
使用时机:返回的页面不是html页面,而是其他某种数据格式时(如 json、xml等)

8.@Component
通用的注解,当不知道一些类归到哪个层时 使用。

9.@Repository
用于注解Dao层。在DaoImpl上面注解

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值