SSM常用注解及其含义
声明:本博文参考了一些博主的博文,这里表示抱歉。自己也稍微整理一下,供自己学习记录,如有错误请大佬们指正,谢谢!
作者:借我丹青妙笔
1. @Controller、@RestController、@Service、 @Repository
@Controller: 用于标识处理器类,作用于控制层(controller层)。它注解的类进行前端请求的处理,转发,重定向。包括调用Service层的方法。
@RestController: 相当于@ResponseBody + @Controller合在一起的作用,与@Controller相比我更常用@RestController一些。
@Service: 作用于业务逻辑层(service层)。
@Repository: 作用于持久层(dao层)。
@RequestMapping:请求到处理器功能方法的映射规则,可定义到类和方法。常用参数:value、method 。可将@RequestMapping标签定义到类名处或方法名处窄化路径。该注解有六个属性:
1、 value, method;
value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);
method: 指定请求的method类型, GET、POST、PUT、DELETE等;
2、 consumes,produces;(不常用)
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
produces: 指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
3、 params,headers;(不常用)
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。
当@RequestMapping("/list")只带有一个参数,参数默认为value。相当于
@RequestMapping(value = "/list")。
此时我们访问下面代码中的list()方法的路径为:localhost:8080/项目名/teacher/list
@RestController
@RequestMapping("/teacher")
public class TeacherController {@Resourceprivate ITeacherService teacherService;@RequestMapping("/list")public Map<String,Object> list(Teacher teacher){Map<String,Object> map = new HashMap<>();List<Teacher> teachers = teacherService.listTeacher(teacher);map.put("msg","查询成功");map.put("code",0);map.put("data",teachers);return map;}}
Spring 4.3 引入了方法级注解的变体,也被叫做 @RequestMapping
的组合注解。组合注解可以更好的表达被注解方法的语义。它们所扮演的角色就是针对 @RequestMapping
的封装,而且成了定义端点的标准方法。
例如,@GetMapping
是一个组合注解,它所扮演的是 @RequestMapping(method =RequestMethod.GET)
的一个快捷方式。
方法级别的注解变体有如下几个:
@GetMapping (常用于查询方法)
@PostMapping (常用于增加方法)
@PutMapping (常用于修改方法)
@DeleteMapping (常用于删除方法)
@Component:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
2. @Autowired和@Resource的区别
@Resource:是用来实现依赖注入的,此注解是byName
自动注入的,属于Spring的注解 org.springframework.beans.factory.annotation.Autowired
@Autowired:也是用来实现依赖注入的,但是此注解是byType
自动注入的,不属于Spring的注解,JDK1.6支持的注解。javax.annotation.Resource
共同点:
- spring都支持
- 都作用在字段和setter方法上
不同点:
- @Resource属于Spring的注解,@Autowired是JDK1.6支持的注解
- @Resource不允许找不到bean的情况,而Autowired允许(@Autowired(required = false))
@Resource默认通过name查找,而@Autowired默认通过type查找
总结:@Autowired自动注解,一个类,俩个实现类,Autowired就不知道注入哪一个实
现类,而@Resource有name属性,可以区分。(推荐使用@Resource,但如果每个接口只对应一个实现类就无所谓用哪一个)。
SSM常用注解及其含义相关推荐
- java ssm常用注解_SSM框架中常用的注解
@Controller:在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model , ...
- @aspect注解类不生效_Spring Boot从入门到精通(三)常用注解含义及用法分析总结...
Spring Boot是目前非常流行的框架,而注解是Spring Boot的核心功能,接下来主要说一说Spring Boot常用注解的含义以及部分注解在项目中的使用方法. @RestControlle ...
- swagger注解说明_swagger2常用注解说明
原文:https://blog.csdn.net/u014231523/article/details/76522486 说明: 1.这里使用的版本:springfox-swagger2(2.4)sp ...
- Junit测试常用注解
Junit常用注解 0x01 摘要 本文简要说下junit里面常用注解的含义和使用,还会总结一些常用的Assert判断语句. 0x02 常用Junit注解 2.1 @Test 用在方法上,定义该方法是 ...
- SSM框架之Spring MVC(二)常用注解说明
一.常用注解 1.1RequestParam 1.1.1 使用说明 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必须 ...
- Spring MVC常用注解说明
2019独角兽企业重金招聘Python工程师标准>>> 使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能. 02 之前在使用Struts2实现MV ...
- 40 个 Spring Boot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 作者 | 谭朝红 链接 | ramostear.com 一.Spring Web MVC 与 Spring Bean 注解 Sp ...
- 40 个 SpringBoot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://ramostear.com/ 一.Spring Web MVC 与 Spring Bean 注解 Spri ...
- SpringBoot+Swagger2常用注解
场景 SpringBoot+Swagger2实现可视化API文档流程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/936166 ...
最新文章
- Windows API入门系列之七 -完善MessageBox
- 蓝色药水c语言源代码,蓝色药水4.cpp
- 【Python】Autoviz: 一行代码搞定数据集探索并可视化
- boost::geometry::srs::transformation用法的测试程序
- JS开源框架Stimulus:让web应用在移动端达到原生体验!
- 机器学习实战(用Scikit-learn和TensorFlow进行机器学习)(五)
- 【计算机网络】比较TCP与UDP
- 《编码规范和测试方法——C/C++版》作业 ·005——设计一组员工类
- Gentoo解决Windows系统txt文本中文乱码问题
- github本地库及clone常用命令
- 【软件工程】软件工程需求分析——结构化分析
- 位图深度 PIL.image.save()保存图片后size变大
- 图像识别---Windows下anaconda和yolov5安装配置及简单使用
- access h3c交换机光口_h3c光纤交换机_H3C交换机光口设置
- Linux驱动学习-平台设备驱动probe函数-20220410
- 制作DOS的U盘启动
- 计算机安全措施方案,计算机安全应急预案
- 全世界研发者,联合起来!
- 一.无线电能传输技术简介
- java中Class对象详解和类名.class, class.forName(), getClass()区别