SpringMVC4.3x教程之二常用注解说明
2017-08-02 08:49
357 查看
在使用SpringMVC的时候就少不了注解的存在,来看看常用的注解有哪些,分别有什么样的作用?
1、@Controller—bean:显示层的控制器
控制器类的标记
内部可以出现映射方法
1、@Controller—bean:显示层的控制器
控制器类的标记
内部可以出现映射方法
@Component------bean:普通类 @Repository-----bean:持久层的类---操作数据库 @Service--------bean:业务逻辑层---service 2、@RequestMapping 该方法或类对应的请求路径 常用属性: 1、value:请求的路径名称 2、method:请求方式,默认都支持,可以单独指明,RequestMethod枚举中的值 3、headers:请求参数信息,设置当前请求该方法必须包含的消息头 4、consumes:设置响应内容的MIME类型,其实就是Content-Type 5、params:设置必须包含的参数 6、produces:标记请求内容的类型,也就是消息头:Accept必须包含 7、name:别名 8、path:路径,等价于value 3、@PathVariable 动态路径,根据当前的请求来发起对应的映射方法的调用 结合视图名称拦截器使用(标记前后缀) 4、属性注入 @Autowired根据数据类型注入 @Qualifier根据IOC的id和name注入,不可单独使用,必须跟在@Autowired之后 @Resource根据IOC的id或name注入,也可以直接根据数据类型进行注入 5、@RequestParam 设置请求参数的信息 常用属性: 1、name:参数名称 2、required:是否必须 3、defaultValue:默认值,只要设置了那么参数就可以不用传递 6、@RequestHeader 设置请求消息头 常用属性: 1、name:消息头key名称 2、required:是否必须 3、defaultValue:默认值,只要设置了那么消息头key就可以不用传递 7、@ModelAttribute 设置Model中的数据 用法: 1、修饰方法 使用在方法上,当前的控制器类中所有的映射方法执行之前,先执行该方法 1、方法无返回值:方法一定有参数Model 通过model设置属性内容 2、方法有返回值 这个返回值会默认添加到Model中 2、修饰参数 修饰映射方法的形式参数,可以从Model获取数据 要求: 1、类型需要一致 2、需要指明哪一个key 8、@SessionAttributes 为HttpSession添加数据,主要用在类上 一般只是标记key,通过Model赋值 只要当前方法执行完后(视图渲染)才会将数据添加到HttpSession中 常用属性: names:HttpSession中的key 一般配合@ModelAttribute使用 @SessionAttribute主要用来方法的参数上,用于获取指定key的值 SessionStatus:清空@SessionAttributes对应的map集合 常用方法setComplete:清空对应的map集合 HttpSession的removeAttribute和SessionStatus的setCompelete的区别? removeAttribute:移除的是HttpSession内部Map集合的元素 setCompelete:清空@SessionAttributes对应的Map集合 9、@CookieValue 获取Cookie中的值 常用属性: name:cookie的key
@Controller public class TestController { //修饰方法第一种:无返回值 @ModelAttribute public void pre(Model model){ model.addAttribute("content", "下课"); } //修饰方法第二种:有返回值 @ModelAttribute("food") public String pre1(){ return "西瓜"; } //设置请求参数信息注解 @RequestMapping(value="/getTime") public String test1(@RequestParam(name="id",required=true) String id, Model model){ System.out.println("id="+id); model.addAttribute("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(System.currentTimeMillis()))); return "study1"; } @RequestMapping("/getMsg") public String test2(@RequestHeader(name="Cookie",required=true)String cookie,Model model,@ModelAttribute(name="food")String food){ System.out.println("你喜欢:"+food); model.addAttribute("msg", "有点小困"); return "study1"; } }
@Controller @SessionAttributes(names={"name"}) public class TestController2 { @ModelAttribute("name") public String test2(Model model){ model.addAttribute("test", "测试"); return "zhangsan"; } @RequestMapping("/add") public String test1(@SessionAttribute(name="name") String n,@ModelAttribute(name="name") String n1,HttpSession session){ System.out.println("model:"+n1); System.out.println("session:"+n); System.out.println("第一次:"+session.getId()); return "redirect:getSession";//转发 } //获取Session中的内容 @RequestMapping("/getSession") public String test1(HttpSession session,SessionStatus status){ //status.setComplete();//清除了@SessionAttributes设置的内容 System.out.println("第二次:"+session.getId()); session.setAttribute("pass", "654321"); //session.removeAttribute("name"); System.out.println("HttpSession:"+session.getAttribute("name")); return "study2"; } //获取Cookie的第一种方式 @RequestMapping("/getLast") public String test3(HttpServletRequest request){ Cookie[] cookies=request.getCookies(); for(Cookie c:cookies) { if(c.getName().equals("lastTime")){ System.out.println("最后一次访问时间:"+new Date(Long.parseLong(c.getValue()))); break; } } return "study2"; } //获取Cookie的第二种方式 @RequestMapping("/getLastTime") public String test4(@CookieValue(name="lastTime") String l,@SessionAttribute(name="test")String pass){ System.out.println("最后一次访问时间:"+new Date(Long.parseLong(l))); System.out.println("Session:"+pass); return "study2"; } }
相关文章推荐
- springmvc常用注解之@Controller和@RequestMapping概要说明
- SpringMVC实现依赖注入的几个常用注解的用法解释和示例说明
- SpringMVC实现依赖注入的几个常用注解的用法解释和示例说明
- 2. SpringMVC常用注解说明
- springmvc 中常用的注解配置使用说明
- springmvc常用注解标签详解
- SpringMVC常用注解--【SpringMVC】
- 4000 springmvc常用注解标签详解
- 苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)
- springmvc 常用注解
- springmvc常用注解标签
- junit 学习(2)--常用注解说明
- 【SpringMVC】SpringMvc基础-常用注解、对象和json或xml之间的转换
- Springmvc3.2注解 基本教程
- iOS所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程
- springmvc常用注解
- iOS所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程
- 【springmvc】之常用的注解
- springmvc常用注解标签详解
- springmvc常用注解标签详解