spring 3.2 @Autowired 和@RequestMapping的理解和用法
来源:互联网 发布:淘宝内衣名模雪碧 编辑:程序博客网 时间:2024/06/05 15:03
一、@Resource与@Autowired的区别?
1.@Autowired按byType自动注入。
2.@Resource默认按byName自动注入。
但是@Resource有两个属性是比较重要的,分是name和type;
如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略;
3.@Autowired是spring自己定义的注解,@Resource是J2EE的,由JSR-250规范定义。
二、@RequestMapping
Spring mvc通过@RequestMapping映射到具体的controller或特定的处理方法上,并且可以在方法里注入各种你需要的参数类型,可以是任意顺序,用起来十分方便。但是spring的control中的每个方法前必须配置@RequestMapping,不然spring的annotationMapping不会帮你做映射的,无法做到真正的零配置。
1.@RequestMapping用法
Spring MVC,@RequestMapping用来处理请求,比如×××.do.
2.接收带参数的请求,接收用户请求参数值
例如 @RequestMapping(“/start/{name}”)这个那么随便啥都可以。
Spring MVC控制器@Request Mapping方法返回值
spring mvc 处理方法支持如下的返回方法:ModelAndView,Model,ModelMap,Map,View,String,void.下面将对具体的一一进行说明:
ModelAndView
Java代码:
@RequestMapping("/addManager")
public ModelAndView addManager()
{
ModelAndView mav=new ModelAndView("/_operate/addManager");
mav.addObject("manager",new Manager());
mav.addObject("users",shareService.getUsersMap());
mav.addObject("currentYear",shareService.getCurrentYear());
mav.addObject("cmanagers",shareService.getCmangersMap());
mav.addObject("newFlag",true);
/*mav.setViewName("_operate/addManager.jsp");*/
return mav;
}
通过ModelAndView 构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面,使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的方法。调用addObject()方法将值设置成一个名为ModelMap的类属性,ModelMap是LinkedHashMap的子类。
Model是一个接口,其实现类为ExtendedModelMap,继承了ModelMap类。
Map
Java代码
@RequestMapping(“/demo2/show”)
public Map<String, String> getMap() {
Map<String, String> map = new HashMap<String,String>();
map.put("key1", "value-1");
map.put("key2", "value-2");
return map;
}
在jsp页面中可直通过${Key1}获得到值,map.put()想相当于request.setAttribute方法。
String指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。
注意:如果方法声明了注解@ResponseBody,则会直接将返回值输出到页面,不会再去请求value.jsp页面
例如:
1.Java代码:@RequestMapping(value = "/something",method = RequestMethod.GET)
@ResponseBody
public String helloWorld() {
return "Hello World";
}
上面的结果会将文本“Hello World”直接写到http响应流。
@RequestMapping("/welcome")
public String welcomeHandler() {
return "center";
}
对应的逻辑视图名为“center”,URL=prefix前缀+视图名称+suffix后缀组成。
void如果返回值为空,则响应的视图页面对应为访问地址
@RequestMapping("/welcome")
public void welcomeHandler() {}
此例对应的逻辑视图名为"welcome"。
小结:
1.使用 String作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap控制。
2.使用void,map,Model时,返回对应的逻辑视图名称真实url为:prefix前缀+视图名称 +suffix后缀组成。
3.使用String,ModelAndView返回视图名称可以不受请求的url绑定,ModelAndView可以设置返回的视图名称。
- spring 3.2 @Autowired 和@RequestMapping的理解和用法
- Spring @Autowired,@Resource,@Required注解的用法和作用
- Spring @Autowired,@Resource,@Required注解的用法和作用(转)
- Spring @Autowired,@Resource,@Required注解的用法和作用
- Spring @Autowired,@Resource,@Required注解的用法和作用
- Spring 的@Component和@Autowired
- Spring @RequestMapping的用法
- SpringMVC-@RequestMapping的参数和用法
- Spring中Controller和RequestMapping的详解
- Spring中Controller和RequestMapping的详解
- Spring中Controller和RequestMapping的详解
- Spring的@controller和 @RequestMapping 注解
- Spring中Controller和RequestMapping的详解
- Spring----@Resource和@Autowired
- RequestMapping用法的一点理解
- @Autowired与@Resource的用法和区别
- Spring注解:@Autowired和@Resource的区别
- Spring 注释 @Autowired 和@Resource 的区别
- HOG提取训练检测+样本制作
- malloc的返回值类型为 void *
- IOS之NSString比较方法
- 俞敏洪:一个优秀的人的标志和特点
- 当你学不进去的时候,试试“普瑞马法则”
- spring 3.2 @Autowired 和@RequestMapping的理解和用法
- 【转载】设计原则
- 第十六周---字符串实现不同功能。。。①。。
- 16周项目4:指来指去(1)
- 编程技术面试的五大要点
- 我的第四十六个C++上机任务(打入“内部”寻“内幕”)
- 说到如何学习一个框架
- 指针填空
- Thrift 实例 Helloworld