spring注解开发中常用注解以及简单配置

一、spring注解开发中常用注解以及简单配置

  1、为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向spring容器中注入bean对象,

然而,通过注解编程可以缩短我们开发的时间,简化程序员的代码编写。

  2、如何开启注解开发:最常用的方法是使用<mvc:annotation-driven/>来开启注解编程(用一个标签配置了spring注解编程的映射器和适配器,同时配置了许多的参数)

  3、如何将有注解的bean注入spring容器中:<context:component-scan base-package="。。。。"/>base-package表示你要注入spring容器的bean所在的包

  比如:base-package="edu.mybatis.controller",就会将该包下的所有需要注入spring容器的bean对象,自动注入spring容器中,

二、常用的注解及应用

  1、@Controller:控制器定义

    在你你定义的Controller类上添加注解@Controller

  2、Requestmapping:次注解一般和@Controller注解一起使用,该注解将类似“/findUserById”这样的url映射到特定的处理方法或者类上上,用户通过http请求进行访问。

  (1)用在类上是用来窄化请求:

@Controller
@RequestMapping("user")
public class UserController {。。。。}

  (2)用在方法上是用来进行url映射

@RequestMapping("/queryUsers")
    public ModelAndView queryUsers(UserQueryVo userQueryVo){
        
        System.out.println(userQueryVo);
        List<UserExtends>userList=userService.findUserList(userQueryVo);
        
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("userList", userList);
        modelAndView.setViewName("index");
        
        return modelAndView;
    }

  (3)@RequeatParam将请求的参数绑定到方法的指定参数上

public String editUser(Model model, @RequestParam(value="id",required=true)Integer user_id){
        UserExtends userExtends=userService.findUserById(user_id);
        model.addAttribute("user", userExtends);
        return "edit";
    }

  (4)RequestBody:指定方法参数应该被绑定到HTTP请求body上,@RequestBody在构建REST架构时比较方便

public void handle(@RequestBody String body, Writer writer) throws IOException {
    writer.write(body);
}

  (5)@ResponseBody与requestBody类似,它的作用是将返回类型直接输入到HTTP response body中。@ResponseBody在输出JSON格式的数据时,会经常用到。

@RequestMapping(value = "/something", method = RequestMethod.PUT)
@ResponseBody
public String helloWorld() {   
     return "Hello World";
}

 

  (6)@Autowired:将spring容器中的bean注入

  @Autowired
  private UserService userService;

  注意:注入对象的名字与spring容器中的id名相同

posted @ 2015-08-03 15:39  googlemeoften  阅读(379)  评论(0编辑  收藏  举报