Spring注解

2023-05-16

注解介绍

注解有两个作用:标注和注入

  • 标注:类路径下自动扫描,减少在xml中配置bean,例如@Component,@Service
  • 注入:自动装配,需要类的地方直接加注解就可以引入该类;例如:@Autowired
  • 在spring中开启注解:<context:compnnent-scan base-package="...">指定扫描路径
  • spring生成的注解有默认名字,为类名的首字母小写形式,如果要指定自定义的需要类似@Service(“xxx”)来指定
  • Spring中的bean,默认是singleton,即生成的对象是全局单例的,如果要改,需要@scope(“prototype”)指明,scope可以选择:singleton、prototype、request、session、global session;
  • 可以用ApplicationContext.getBean(“zoo”),来获取Zoo.java类

常见注解分类

Spring中有如下几种分类:

  1. Spring原生:Required、Autowired、value、Qualifier、Component及其扩展的Repository、Service、Controller
  2. JSR-250:Resource、PostConstruct、Predestroy
  3. JSR-330:inject、Named、Qualifier
  4. JPA注解:PersistentContext、PersistenceUnit
  5. Springmvc注解:RequstBody、RequastParam、ResponseBody,ResponseParam,Pathvariable,ModelAttribute;

常用注解

  1. Component:标注组件,与持久层的Repository、业务层的Service、控制层的Controller功能一样,加上注解可以让Spring找到相应的类,在对组件不好分类的时候,用Component注解来标识;
  2. Autowired:是Spring的注解,自动注入类,需要Spring去配置文件中找(或者上下文找标注过的类)相应的Bean,如果找不到会报错,可以用@Autowired(required=false)来设置找不到不报错,返回null
  3. Resource:与Autowired功能相似,默认通过name来匹配,是J2EE的注解,可以指定按照type来匹配@Resource(type=xxx.class)

Springmvc注解

  1. ResponseBody:使用在方法上,返回json格式的数据,直接输入到Http response body中;
  2. RequestBody:使用在参数前,标注对象,Spring完成对象-协议之间的转化,解析post data body,然后绑定到相应的bean上;支持application/json或者application/xml协议格式;与ResponseBody一样,是由HandlerAdapter配置的HttpMessageConverter在对象和协议之间转化的;
  3. RequstParam:获取参数,对于简单类型的绑定,对应的content-type为application/x-www-form-urlencoded,即form表单提交的数据;
  4. PathVariable:接收路径参数
    5.RestController:是Controller和Response两个注解的组合;
  5. ModelAttribute:渲染model,model可以看做是一个map,改注解的作用是用来传递和保存数据,可以使用在方法上和参数上;
    • 使用在方法上,则这个方法在@RequestMapping方法调用之前,在model中填充属性,例如填充下拉列表,用来在request的model里put(“小写开头的类名”,类名),该model就是标注方法的返回值;
    • 使用在参数上,数据绑定,将相应名称的值绑定到注解的参数bean上,绑定源查找顺序:SessionAttribute注解、ModelAttribute注解、new一个新的实例;
  6. HttpEntity,除了能获得request和response之外,能访问请求和响应头,使用getHeaders和getBody()

参考

Spring常用注解标签详解
Spring常用注解汇总

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring注解 的相关文章

随机推荐

  • Linux内核系统调用原理与实现

    解决什么问题 Linux系统调用主要是操作系统实现的应用编程接口 xff0c 简单的说就是linux内核提供对外 对于应用程序 的接口函数 xff0c 进程通过调用系统调用完成自身的功能 系统调用在每个平台的实现方式都不同相同 xff0c
  • Docker容器基础

    1 介绍 Docker官网 xff1a https docs docker com Docker的github地址 xff1a https github com moby moby Dockerhub官网 https registry hu
  • 【自动驾驶】常见位姿估计算法的比较: 三角测量、PNP、ICP、

    PnP问题 3D 2D DLT 直接线性变换算法 相机标定工程用到的是DLT 直接线性变换算法 xff0c 它是一类PnP问题 3D 2D 请参考 位姿估计 视觉SLAM 笔记 常见位姿估计算法的比较 PnP xff08 Perspecti
  • CC2530 BootLoader,不带协议栈,任意跳转

    最近业余研究了下CC2530的远程固件更新 空中下载 现做个总结 一则方便大家学习共进 二则自己做个记录以防日后忘了 一 BootLoader主要技术点 nbsp nbsp 1 程序跳转到指定位置 nbsp nbsp 2 设置好相应的中断向
  • 使用 VNC 实现多用户登录

    Virtual Network Computing VNC 是一种提供计算机远程访问的流行工具 常规的 VNC 配置是针对单用户工作台而进行优化的 xff0c 可登录到 VNC 端口直接访问单一用户的桌面 然而 xff0c 这一配置在多用户
  • STLink V2烧录SWIM和SWD接口接线图

    stm8 采用SVTP软件烧录 xff0c 烧录接口为SWIM xff08 stlink v2烧录器带有该接口 xff09 xff0c 如下图 xff1a stm32可采用stlink v2 的SWD接口烧录 xff0c 接线图如下 xff
  • 车辆姿态角(Euler角)Pitch、Yaw、Roll 的设定

    首先申明 xff1a 此坐标系是针对车辆而设定的 xff0c 对于无人机来说是不同的 pitch xff1a 俯仰角 xff0c pitchAngleC2W orientation radian Y yaw xff1a 航向角 xff0c
  • Docker(四)----Docker-Compose 详解

    1 什么是Docker Compose Compose项目来源于之前的fig项目 xff0c 使用python语言编写 与docker swarm配合度很高 Compose 是 Docker 容器进行编排的工具 xff0c 定义和运行多容器
  • 转贴:ERP实施过程中的40个问题

    笔者在多年的实践中 xff0c 结合自身经验和多年的理论积累 xff0c 总结出有关ERP 实施的最关键的39 个问题 xff0c 以问答的形式 xff0c 让您在最短的时间内对ERP 实施有一个全面而客观的认识 xff0c 以免陷入日新月
  • VS Code 常用设置集合

    常用设置 xff08 setting json xff09 34 editor parameterHints enabled 34 true 开启参数预览窗口 设置字体颜色 34 editor semanticTokenColorCusto
  • Arduino--LCD1602(IIC)

    xff08 1 xff09 简介 前篇文章介绍了LCD1602的四位数据线控制方法 xff1a https blog csdn net u011816009 article details 106573622 但是该方法还是需要较多的IO口
  • Px4 ULog文件详解

    Px4 ULog文件详解 简介数据类型文件组织文件头定义段消息标记位消息格式定义消息信息消息复合信息消息参数消息 数据段订阅消息取消订阅消息日志数据消息字符串消息同步消息丢失 附录 简介 ULog 是用于记录数据的文件格式 xff0c 该格
  • 开发日记(一)

    这是自己编程第二天 xff0c 自己解决了好几个问题 xff0c 觉得很有成就感 xff0c 决定写下以后开发中遇到的问题 1 在多个Activity中传递数据 xff0c 之前只学过绑定基本的putExtra xff0c 今天上网一搜 x
  • 源程序生成控制流图和du-path

    最近上 源代码分析技术 这个课 xff0c 老师让写一个程序 xff0c 由一段c代码 xff0c 生成生成控制流图和du path xff0c 控制流图不用解释了 xff0c 说一下du path xff0c 这个术语是针对变量来说的 x
  • pandas使用笔记

    DataFrame使用笔记 dates 61 pd date range span class hljs string 39 20160728 39 span periods 61 span class hljs number 6 span
  • keras

    大神笔记 xff0c 转载自http blog csdn net u012162613 article details 45397033 Keras简介 Keras是基于Theano的一个深度学习框架 xff0c 它的设计参考了Torch
  • gensim similarity计算文档相似度

    向量空间模型计算文档集合相似性 0 将原始输入的词转换为ID xff0c 词的id表示法简单易用 xff0c 但是无法预测未登记词 xff0c 难以挖掘词关系 xff1b 词汇鸿沟 1 任意两个词之间是独立的 xff0c 无法通过词的ID来
  • doc2vec计算文档相似度

    doc2vec是基于word2vec的 xff0c word2vec对于计算两个词语的相似度效率比较好 xff0c 修改了word2vec中的cbow和skip gram模型 xff0c paragraph vector直接得到doc向量
  • 多维中维度的理解

    项目有段时间了 xff0c 今天需要做一个需求查询调研 必须要照顾楼下业务人员理解的方式吧多维度表述清楚 还真不好讲 xff1a 原以为维度就是一个基准点 xff0c 一个看事情的角度 xff0c 静下来想 xff0c 要描述出来好像还真不
  • Spring注解

    注解介绍 注解有两个作用 xff1a 标注和注入 标注 xff1a 类路径下自动扫描 xff0c 减少在xml中配置bean 例如 64 Component 64 Service注入 xff1a 自动装配 xff0c 需要类的地方直接加注解