Spring注解及作用
一:
spring mvc中的@PathVariable是用来获得请求url中的动态参数的
@PathVariable用于方法中的参数,表示方法参数绑定到地址URL的模板:
例
- @Controller
 - public class TestController {
 - @RequestMapping(value="/user/{userId}/roles/{roleId}",method = RequestMethod.GET)
 - public String getLogin(@PathVariable("userId") String userId,
 - @PathVariable("roleId") String roleId){
 - System.out.println("User Id : " + userId);
 - System.out.println("Role Id : " + roleId);
 - return "hello";
 - }
 - @RequestMapping(value="/product/{productId}",method = RequestMethod.GET)
 - public String getProduct(@PathVariable("productId") String productId){
 - System.out.println("Product Id : " + productId);
 - return "hello";
 - }
 
  二:
在Spring MVC里,@ModelAttribute通常使用在Controller方法的参数注解中,用于解释model entity,但同时,也可以放在方法注解里。
如果把@ModelAttribute放在方法的注解上时,代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法。
/**
     * 登录提交数据处理
	      * @Title: login 
              */
	    @RequestMapping(value="sys/loginIn" ,method = RequestMethod.POST)
	    public @ResponseBody DataJSON login(@ModelAttribute User user,
										    HttpServletResponse response,
										    HttpServletRequest request,
										    String autoLogin) throws IOException{
try{
  //进行公共验证
			   DataJSON dataJSON = UserUtil.userLoginVerifyPC(user);
三:
@RequestBody
作用:
i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
ii) 再把HttpMessageConverter返回的对象数据绑定到 controller中方法的参数上。
使用时机:
GET、POST方式提时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
 - multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
 - 其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
 
@ResponseBody
作用:
该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:
返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
四:
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestMapping(value = "/aaa")//类级别,可以没有
public class myController {
@RequestMapping(value = "/bbb")//方法级别,必须有
public String getMyName() {
return "myReturn";
}
}
对应的action就是:<form action="aaa/bbb">
返回页面就是myReturn.jsp 五:
Spring注解及作用的更多相关文章
- spring作用、spring注解、管理对象的作用域与生命周期、自动装配、Spring的框架包有哪些作用是什么
		
Spring 1. 作用 创建和管理对象,使得开发过程中,可以不必使用new关键字创建对象,而是直接获取对象!并且,还可以通过一些配置,使得某些获取到的对象,其中某些属性已经是被赋值的! 2. Spr ...
 - EnableAutoConfiguration注解 Spring中@Import注解的作用和使用
		
EnableAutoConfiguration注解 http://www.51gjie.com/javaweb/1046.html springboot@EnableAutoConfiguration ...
 - spring注解源码分析--how does autowired works?
		
1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行d ...
 - Spring注解
		
AccountController .java Java代码 1. /** 2. * 2010-1-23 3. */ 4. packag ...
 - 学会使用Spring注解
		
概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射时,我们就不需要指定 ...
 - 使用spring注解@Controller @Service @Repository简化配置
		
前言:在web项目中引入spring框架中的配置文件,我们给每一个java bean进行相关配置可以非常安全,便捷的管理我们的bean.那么,问题来了,如果一个项目中所涉及到的java bean十分庞 ...
 - spring注解说明之Spring2.5 注解介绍(3.0通用)
		
spring注解说明之Spring2.5 注解介绍(3.0通用) 注册注解处理器 方式一:bean <bean class="org.springframework.beans.fac ...
 - spring注解记录
		
集中记录spring常见注解 供今后查阅 @ControllerAdvice: ControllerAdvice的定义为: @Target(ElementType.TYPE) @Retention(R ...
 - 使用Spring注解来简化ssh框架的代码编写
		
目的:主要是通过使用Spring注解的方式来简化ssh框架的代码编写. 首先:我们浏览一下原始的applicationContext.xml文件中的部分配置. <bean id="m ...
 
随机推荐
- PMP模拟考试-1
			
1. A manufacturing project has a schedule performance index (SPI) of 0.89 and a cost performance ind ...
 - ios开发之--把秒转换为天时分秒
			
把秒转换成时分秒: - (NSString *)timeFormatted:(int)totalSeconds { ; ) % ; ; return [NSString stringWithForma ...
 - js中toFixed() 的使用(转)
			
转载:http://www.studyofnet.com/news/292.html 一.定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberOb ...
 - 【数据分析】Superset 之三 Docker操作管理
			
一.进入容器 查看运行的容器:docker ps docker attach confident_thompson 或者 docker attach 34cd2299110f docker exec ...
 - PHP代码审计笔记--命令执行漏洞
			
命令执行漏洞,用户通过浏览器在远程服务器上执行任意系统命令,严格意义上,与代码执行漏洞还是有一定的区别. 0x01漏洞实例 例1: <?php $target=$_REQUEST['ip']; ...
 - mybatis 之resultType="HashMap" parameterType="list"
			
<!-- 查询商品仓库信息 --> <select id="loadGoodsStock" resultType="HashMap" para ...
 - IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
			
本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...
 - codeforces水题100道 第一题 Codeforces Beta Round #1 A. Theatre Square (math)
			
题目链接:http://www.codeforces.com/problemset/problem/1/A题意:至少用多少块边长为a的方块铺满NxM的矩形区域.C++代码: #include < ...
 - 《MySQL》一次MySQL慢查询导致的故障
			
本文转载自 http://www.jb51.net/article/70955.htm 我们知道分析MySQL语句查询性能的方法除了使用EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指 ...
 - Makefile中的MAKECMDGOALS
			
make 在执行时会设置一个特殊变量 -- "MAKECMDGOALS" ,该变量记录了命令行参数指定的终极目标列表,没有通过参数指定终极目标时此变量为空.该变量仅限于用在特殊 ...