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名相同
spring注解开发中常用注解以及简单配置的更多相关文章
- Spring Data JPA 中常用注解
一.java对象与数据库字段转化 1.@Entity:标识实体类是JPA实体,告诉JPA在程序运行时生成实体类对应表 2.@Table:设置实体类在数据库所对应的表名 3.@Id:标识类里所在变量为主 ...
- Spring 中常用注解原理剖析
前言 Spring 框架核心组件之一是 IOC,IOC 则管理 Bean 的创建和 Bean 之间的依赖注入,对于 Bean 的创建可以通过在 XML 里面使用 <bean/> 标签来配置 ...
- spring 以及 spring mvc 中常用注解整理
spring 以及 spring mvc 中常用注解整理 @RequestMapping(映射路径) @Autowired(注入 bean 对象) 例如: @Autowired private Bas ...
- Solon Web 开发,十四、与Spring、Jsr330的常用注解对比
Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...
- SpringBoot 中常用注解@Controller/@RestController/@RequestMapping的区别
SpringBoot中常用注解@Controller/@RestController/@RequestMapping的区别 @Controller 处理http请求 @Controller //@Re ...
- SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍
原文 SpringBoot 中常用注解 @Controller/@RestController/@RequestMapping介绍 @Controller 处理http请求 @Controller / ...
- spring boot的一些常用注解
spring boot的一些常用注解: 使用@SpringBootApplication注释: 许多Spring Boot开发人员喜欢他们的应用程序使用自动配置,组件扫描,并能够在其“应用程序类”上定 ...
- SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍
SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...
- SpringBoot 中常用注解
本篇博文将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...
随机推荐
- OSG消锯齿
osg::DisplaySettings::instance()->setNumMultiSamples(); 在osg+mfc下成功实现抗锯齿,在程序初始化的时候,即在osg控制类中,我的 ...
- qt5集成libcurl实现tftp和ftp的方法一:搭建环境(五篇文章)
最近使用QT5做一个软件,要求实现tftp和ftp文件传输,使用QT5开发好UI界面等功能,突然发现QT5不直接提供tftp和ftp支持,无奈之下只好找第三方库来间接实现,根据网友的介绍,libcur ...
- slave 成为master 时候执行的操作notify_master /etc/keepalived/send_master.sh
slave:/root# cat /etc/keepalived/keepalived.conf global_defs { router_id MySQL-ha } vrrp_instance VI ...
- 【基础】常用的机器学习&数据挖掘知识点
Basis(基础): MSE(Mean Square Error 均方误差),LMS(LeastMean Square 最小均方),LSM(Least Square Methods 最小二乘法),ML ...
- 给即将面临Noip的二班同学
给即将面临Noip的二班同学: 我们共同走过了一年,在这里,真正认识彼此…… 失落过,但更多是欢笑…… 或许我们班的信息学竞赛承受着巨大的压力,但正因为这样,我们才学会了坚持:或许我们得不到他人的认可 ...
- [转载]HDFS的'Block'和MapReduce的'Split'之间的关系和区别
http://www.cnblogs.com/xuxm2007/archive/2011/09/01/2162011.html hadoop的分块有两部分,其中第一部分更为人熟知一点. 第一部分就 ...
- Jquery读取URL参数
$(document).ready(function(){ function getQueryString(name) { var reg = new RegExp("(^|&)&q ...
- 使用vi编辑binary文件
原理:使用xxd将当前文件转成hex格式,编辑,然后再转回去 /usr/bin/xxd xxd - make a hexdump or do the reverse 例子: 用binary模式启动vi ...
- Cocos2d-X 动作展示《一》
因为Cocos2d-X中的动作较多,我将全部的动作制作成了一个滚动视图.每一个滚动视图上都有动作名,单击滚动视图就能够展示对应的动作 程序效果图: 使用滚动视图实现动作切换 动作展示 程序代码: 首先 ...
- js 去除字符串左右两端的空格
<script type="text/javascript"> function trim(str){ //删除左右两端的空格 return str.repl ...