一、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名相同

spring注解开发中常用注解以及简单配置的更多相关文章

  1. Spring Data JPA 中常用注解

    一.java对象与数据库字段转化 1.@Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表 2.@Table:设置实体类在数据库所对应的表名 3.@Id:标识类里所在变量为主 ...

  2. Spring 中常用注解原理剖析

    前言 Spring 框架核心组件之一是 IOC,IOC 则管理 Bean 的创建和 Bean 之间的依赖注入,对于 Bean 的创建可以通过在 XML 里面使用 <bean/> 标签来配置 ...

  3. spring 以及 spring mvc 中常用注解整理

    spring 以及 spring mvc 中常用注解整理 @RequestMapping(映射路径) @Autowired(注入 bean 对象) 例如: @Autowired private Bas ...

  4. Solon Web 开发,十四、与Spring、Jsr330的常用注解对比

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  5. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别

    SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...

  6. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍

    原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...

  7. spring boot的一些常用注解

    spring boot的一些常用注解: 使用@SpringBootApplication注释: 许多Spring Boot开发人员喜欢他们的应用程序使用自动配置,组件扫描,并能够在其“应用程序类”上定 ...

  8. SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍

    SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...

  9. SpringBoot 中常用注解

    本篇博文将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...

随机推荐

  1. zoj 3792 Romantic Value

    题目链接 求最小割的值, 以及割边最少的情况的边数. 先求一遍最小割, 然后把所有割边的权值变为1, 其他边变成inf, 在求一遍最小割, 此时求出的就是最少边数. Inf打成inf  WA了好几发. ...

  2. bean 与 map 互转.

    package com.sprucetec.tms.distribute.utils;import java.beans.BeanInfo;import java.beans.Introspectio ...

  3. 经验分享:CSS浮动(float,clear)通俗讲解 太棒了,清晰明了

    很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多 ...

  4. Microsoft Azure 上的自定义数据和 Cloud-Init

     自定义数据是什么? 客户经常询问如何才能在配置Microsoft Azure 虚拟机时插入脚本或其他元数据.在其他云中,这个概念通常称为用户数据.MicrosoftAzure 中也有一项类似的功 ...

  5. openStack icehouse for centos6.4 production Env 实战

    production Env brief Overview: Management Node:  controller.cc 10.114.100.115 Neutron Network Node:  ...

  6. 判断变量是否存在(python)

    var = 1 # print True print 'var' in dir() # print False print 'va' in dir() # work for list , dict t ...

  7. ICE

    一.Slice-to-C++映射 1.引言 其映射定义:怎样把Slice数据类型翻译成C++类型,客户怎样调用操作.传递参数.处理错误. C++映射完全是线程安全的.例如,类的引用机制针对并行访问机制 ...

  8. 如果DataGrid的checkbox出现点一个另外自动点另一个现象

    如果DataGrid的checkbox出现点一个另外自动点另一个现象: 取消(EnableRowVirtualization)这个选项就可以正常了(关闭虚拟UI):

  9. JavaWeb解释一下什么是 servlet?

    Servlet是一种独立于平台和协议的服务端的java技术,可以生成动态WEB页面与传统的CGI(计算机图形接口)和其他类似的CGI技术相比.Servlet具有更好的可移植性.更强大的功能,更少的投资 ...

  10. BZOJ 2064: 分裂( 状压dp )

    n1+n2次一定可以满足..然后假如之前土地集合S1的子集subs1和之后土地集合S2的子集subs2相等的话...那么就少了2个+操作...所以最后答案就是n1+n2-少掉的最多操作数, 由状压dp ...