@ModelAttribute
这个注解使用在方法参数列表中,给参数进行注解,作用是将页面数据和模型对象进行绑定。(通常这项工作会由SpringMVC自己完成)
@ResponseBody
这个注解一般是用于标注在某个方法声明的上面。表示将这个方法返回的对象写入到response的body区,常用于将一个对象转成json字符串发送到页面。
@RequestBody
这个注解和上面的注解相反,这个注解则是将请求时的json字符串,转换成对象形式,绑定到方法参数列表中的某个参数上面。
@Autowired
这个注解用于向某个类或者实现类中注入一个对象。
@Value
这个注解用于将.properties的配置文件中的值注入到类的变量中。
比如在.properties中有一个值为:REST_BASE_URL
在类中可以写为:
@Value("${REST_BASE_URL}")
private String REST_BASE_URL;
@RequestMapping
这个注解用于在controller的方法上标注url,只有当对应的url访问时,handlermapping才能找到这个方法,并将请求交给它处理。并且还可以对请求做一些编码的设置,和请求方法的设置:
@RequestMapping(value="/item/save",method=RequestMethod.POST)
@RequestMapping(value="/item/desc/{itemId}",produces=MediaType.TEXT_HTML_VALUE+";charset=utf-8")
@PathVariable
这个注解用于当请求是一个restful风格的请求时,从请求中获取相应的参数
如:@RequestMapping("/item/param/query/itemcatid/{itemCatId}")
public TaotaoResult getParamByItemCatId(@PathVariable Long itemCatId)
@RequestParam
这个注解用于标注方法的参数列表中的参数,可以设置它的默认值,也可以用于请求参数名和方法参数列表中的参数名不一致时把它们两者对应起来。
@JsonProperty
这个注解用于将json字符串中的key值做一个替换,比如key值为“n”,可以替换成类中的变量“name”。另外这个注解是在jackson包中的
@Repository、@Component、@Service、@Controller
@JsonIgnore
被这个注解标记的类属性好像是不会在json序列化当中。这个注解在jackson包中
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
保证序列化json的时候,如果是null的对象,key也会消失。这个注解可以用在对于密码要返回的时候,让密码不json格式化。这个注解在jackson包中
@Param
这个注解是用在dao层的,用在dao层接口的参数列表上,当参数多余两个的时候用它加以区别,另外好像是在.xml文件中引用参数名的时候可以使用${}进行包裹,平时都是使用#{}的,这一点有待测试
@Resource
这个注解也是用来向一个类中注入一个类的实现的,和autowired不用的是这个注解不是spring 的是j2ee的。