zoukankan      html  css  js  c++  java
  • 我的SpringMvc学习之路之注解

    用注解取代配置文件可降低编程是不必要的麻烦和错误。

    @Controller  控制器定义

    在一个class的上面写上@controller声明此类为控制器类。在配置中*.dispatcher.xml里定义<context:component-scan base-package="com.song" /> 
    *.dispatcher.xml则会自己主动扫描com.song以下的每一个文件,当发现@Controller注解的文件时。会将该类转换为bean。@Controller与@@Component有相同的作用。



    比方:

    @RequestMapping 映射定义

    定义在类的前面,将url与类绑定。

    如:

    定义在方法前面,将url与方法绑定。


    如:

    @RequestMapping还能够限定进入该方法的方式

    如:

    声明该方法仅仅能通过GET请求进入。

    @PathVariable与@RequestParam 绑定URL參数

    这里把两个注解仿在一起讲,由于作用很相近。

    @RequestParam 将url上传递过来的參数绑定在形參上。


    如:
    url 能够写成 就能把?

    后的name绑定在形參name里使用。



    @PathVariable 将rest风格的url上的參数绑定在形參上

    如:

    【注】@RequestMapping("index/{name}")

    从Spring3.0后增加了rest风格,就像这样

     

    通过在@PathVariable路径上写上參数的名字。就能够将浏览器上写在方法映射后的參数绑定在形參上。【注】{...}的的名称要与形參的名称一样。假设在@PathVariable后声明了接受參数的名称则形參名称可自己定义。而且通过绑定的參数能够直接通过EL在页面获得。


    @SessionAttribute与@ModelAttribute


    @SessionAttribute 使模型对象的属性拥有session的作用域

    如:

    将ModelMap中名为u的属性放入session中,这个属性能够跨请求訪问。【注】@SessionAttribute还能够声明一个数组

    在默认的情况下,@ModelAttribute中的属性是保存在request中的。这导致本次请求结束后@ModelAttribute将会被销毁。所以配合@SessionAttribute使用,将@ModelAttribute的属性绑定在@SessionAttribute上,就可以实现@ModelAttribute的跨请求訪问。


  • 相关阅读:
    JAVA基础——编程练习(二)
    JAVA基础——面向对象三大特性:封装、继承、多态
    JVM内存
    50. Pow(x, n) (JAVA)
    47. Permutations II (JAVA)
    46. Permutations (JAVA)
    45. Jump Game II (JAVA)
    43. Multiply Strings (JAVA)
    42. Trapping Rain Water (JAVA)
    41. First Missing Positive (JAVA)
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7327173.html
Copyright © 2011-2022 走看看