spring的注解

news2024/9/22 19:14:48

Spring的常用注解

  • 常用注解
    • @EnableWebMvc
    • @Configuration
    • @Bean
    • @SpringBootApplication && @MapperScan
    • @Controller
    • @ResponseBody
    • @RestController
    • @RequestMapping("robot")
    • @Resource
    • @RequestMapping
    • @Service

常用注解

@EnableWebMvc

在配置类中开启Web MVC的配置支持。

@Configuration

大部分的Spring项目都采用了基于注解的配置,使用@Configuration 标记类作为配置类 替换xml配置文件。一行简单的注解就可以解决很多事情。
详见

  • @Configuration有什么用?
  • @Configuration和XML有什么区别?哪种好?
  • @Autowired 、 @Inject、@Resource 之间有什么区别?
  • @Value、@PropertySource 和 @Configuration?
  • Spring如何处理带@Configuration @Import的类?
  • @Profile有什么用?
  • @Configuration 如何嵌套?
  • Spring如何对Bean进行延迟初始化?
  • Spring项目怎么进行单元测试?
  • @Configuration 使用上有哪些约束?
    以上问题详见:spring注解使用中常见的概念性问题

@Bean

  • Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。

  • SpringIOC 容器管理一个或者多个bean,这些bean都需要在@Configuration注解下进行创建,在一个方法上使用@Bean注解就表明这个方法需要交给Spring进行管理。

@SpringBootApplication && @MapperScan

在这里插入图片描述
1. @SpringBootApplication

插叙Spring Boot中的自动装配机制
SpringBoot最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),通过SpringBoot为我们提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能。

这个注解我们点进去就可以发现,它实际上就是一个 @Configuration 注解,这个注解大家应该很熟悉了,加上这个注解就是为了让当前类作为一个配置类交由 Spring 的 IOC 容器进行管理,

SpringBoot 本质上还是 Spring,所以原属于 Spring 的注解在 SpringBoot中也可以直接应用

2.@MapperScan

@Controller

  • 使用@Controller 注解时,spring默认方法返回的是view对象(页面),@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面
  • 如果仅仅返回数据,则需要在方法上加@ResponseBody或者直接使用@RestController

@ResponseBody

作用在Controller方法上面,支持将返回值放到response内,而不是一个页面,通常用户返回json数据。

@RestController

  • 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都默认加上了@ResponseBody。

@RequestMapping(“robot”)

  • 使用方式,@RequestMapping(“xxx”)
  • 作用在类和方法上,用于映射web请求,包括访问路径和参数。此路径和参数的请求会调用该类或方法

@Resource

@RequestMapping

1.@RequestMapping注解能将请求和处理请求的控制器方法关联起来,建立映射关系。
2.在SpringMvc接收到请求后就会来找对应的ReuestMapping注解对比,并处理请求。注意:在使用时要确保RequesstMapping注解里面的值唯一。
3.RequestMapping注解加载在类和方法上的不同

  • 注解加载类上时,设置的映射路径请求的初始信息
  • 注解加在方法上时,设置的映射路径请求的具体信息

4.就是说你如果想访问在方法里的具体信息,就先要具备类上面的初始信息
对于处理指定请求方式的控制器方法,SpringMVC中提供了@RequestMapping的派生注解【生的儿子,功能更细致】

  • @GetMapping
  • @PutMapping
  • @PostMapping
  • @DeleteMapping

@Service

@Service(“robotService”)

要说明@Service注解的使用,就得说一下我们经常在spring配置文件applicationContext.xml中看到如下图中的配置:

<!-- 采用扫描 + 注解的方式进行开发 可以提高开发效率,后期维护变的困难了,可读性变差了 -->
<context:component-scan base-package="com.robot.item" />

在applicationContext.xml配置文件中加上这一行以后,将自动扫描指定路径下的包,如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml配置文件中定义bean了,类似的还包括@Component、@Repository、@Controller。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/355738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣62.不同路径

文章目录力扣62.不同路径题目描述方法1&#xff1a;暴力深搜(超时未通过)方法2&#xff1a;动态规划力扣62.不同路径 题目描述 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器…

[安装] Dell电脑安装系统时看不到固态硬盘的解决方案

前言如图&#xff0c;配备NVME固态硬盘的机器在重新安装时候没有看到固态硬盘。这其实是由于安装镜像缺少IRST驱动导致的。1.硬盘模式设置为AHCI大多数戴尔机器出厂BIOS默认硬盘模式为Raid On而非AHCI&#xff0c;WIN10纯净版镜像中自带NVME驱动&#xff0c;可以识别AHCI模式下…

台积电后悔莫及,美国没有将它当成自己人,大陆市场重要性凸显

台积电对于赴美设厂可谓变了再变&#xff0c;日前台积电创始人张忠谋就发声指美国“美国认为他可以通钱来快速进入芯片市场&#xff0c;这太天真了”&#xff0c;这是在台积电获得美国的补贴少得可怜之后的表态&#xff0c;凸显出对美国的不满。台积电对于赴美设厂一开始出现截…

postman教程

一、前言 1、postman 是什么 postman 是一款 HTTP 客户端工具&#xff0c;它可以用来调试和测试接口。通过 HTTP 协议&#xff0c;将请求数据发送到服务端&#xff0c;并从服务端获取响应数据。 2、为什么要使用 postman 后端开发者写的代码在大多数情况下是要给到前端开发…

day46【代码随想录】动态规划之打家劫舍 III、买卖股票的最佳时机、买卖股票的最佳时机II

文章目录前言一、打家劫舍 III&#xff08;力扣337&#xff09;【较难】二、买卖股票的最佳时机&#xff08;力扣121&#xff09;三、买卖股票的最佳时机II&#xff08;力扣122&#xff09;前言 1、打家劫舍 III 2、买卖股票的最佳时机 3、买卖股票的最佳时机II 一、打家劫舍 …

C++——二叉树进阶oj题

目录二叉树创建字符串二叉树的分层遍历1二叉树的分层遍历2给定一个二叉树, 找到该树中两个指定节点的最近公共祖先二叉树搜索树转换成排序双向链表。根据一棵树的中序遍历与后序遍历构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树二叉树创建字符串 题目链接 思路&#x…

Python 之 Matplotlib 散点图、箱线图和词云图

文章目录一、散点图1. scatter() 函数2. 设置图标大小3. 自定义点的颜色和透明度4. 可以选择不同的颜色条&#xff0c;配合 cmap 参数5. cmap 的分类5.1 Sequential colormaps&#xff1a;连续化色图5.2 Diverging colormaps&#xff1a;两端发散的色图 .5.3 Qualitative color…

Python获取zabbix问题触发器

背景&#xff1a;阿里云的ECS服务器因为阿里云升级插件&#xff0c;导致安全防护程序重启&#xff0c;产生不同的端口。导致低自动发现注册的端口 大量报警。 解决&#xff1a;杀掉关于因为非业务 变更的端口检测的触发器。 相关文档&#xff1a; Zabbix监控之主机端口监控自…

3. 投票 案例项目(合集)

3.投票-1创建项目和子应用 创建项目 命令$ python django-admin startproject mysite 目录结构mysite/ # 项目容器、可任意命名manage.py # 命令行工具mysite/ # 纯 Python 包 # 你引用任何东西都要用到它__init__.py # 空文件 告诉Python这…

面试官让你说说react状态管理?

hooks 为什么不能放在条件判断里 以 setState 为例&#xff0c;在 react 内部&#xff0c;每个组件(Fiber)的 hooks 都是以链表的形式存在 memoizeState 属性中 update 阶段&#xff0c;每次调用 setState&#xff0c;链表就会执行 next 向后移动一步。如果将 setState 写在条…

7-Zip压缩文件如何设置和清除密码?

7-zip拥有极高的压缩比&#xff0c;压缩比要比普通ZIP文件高30-50%&#xff0c;也是很多人选用的压缩格式。和其他压缩文件一样&#xff0c;7-Zip也可以设置密码保护&#xff0c;今天就来说说如何设置和清除7-Zip压缩包的密码。 首先&#xff0c;我们可以通过软件应用商店直接…

代码随想录算法训练营第三十四天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

一、参考资料柠檬水找零https://programmercarl.com/0860.%E6%9F%A0%E6%AA%AC%E6%B0%B4%E6%89%BE%E9%9B%B6.html 根据身高重建队列 https://programmercarl.com/0406.%E6%A0%B9%E6%8D%AE%E8%BA%AB%E9%AB%98%E9%87%8D%E5%BB%BA%E9%98%9F%E5%88%97.html 用最少数量的箭引爆气球ht…

【Redis】Redis 哈希 Hash 键值对集合操作 ( 哈希 Hash 键值对集合简介 | 查询操作 | 增加操作 | 修改操作 )

文章目录一、哈希 Hash 键值对集合二、查询操作1、Redis 中查询 Hash 键值对数据2、查询 Hash 键是否存在3、查询 Hash 中所有的键 Field4、查询 Hash 中所有的值三、增加操作1、Redis 中插入 Hash 键值对数据2、批量插入 Hash 键值对数据四、修改操作1、Hash 中 Field 键对应值…

2|数据挖掘|聚类分析|k-means/k-均值算法

k-means算法k-means算法&#xff0c;也被称为k-平均或k-均值&#xff0c;是一种得到最广泛应用的聚类算法。算法首先随机选择k个对象&#xff0c;每个对象初始地代表了一个簇的平均值或中心。对剩余的每个对象根据其与各个簇中心的距离&#xff0c;将它赋给最近的簇。然后重新计…

XSS-labs-master

XSS 经典14关这边先说一下常用的弹窗手法<script>alert(1)</script> <script>confirm(1)</script> <script>alert(1)</script> <script>alert(/1/zyl)</script> <script>alert(document.cookie)</script> <scr…

Framework学习之旅:Zygote进程

概述 在Android系统中&#xff0c;DVM(Dalvik 虚拟机和ART、应用程序进程以及运行系统的关键服务SystemServer进程都是由Zygote进程来创建的。通过fork&#xff08;复制进程&#xff09;的形式来创建应用程进程和SystemServer进程&#xff0c;由于Zygote进程在启动时会创建DVM…

目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比,适合入门和了解目标检测现状

[TOC](目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比&#xff0c;适合入门和了解目标检测现状) 注&#xff1a;本文仅供学习&#xff0c;未经同意勿转。分享的PPT请勿二次传播&#xff0c;或者用于其他商用途径。若使用本文PPT请注明来源&#xff0c;感谢配合 前言&…

全网超详细的下载与安装VMware虚拟机以及为什么要安装VMware虚拟机

文章目录1. 文章引言2. 下载VMware3. 安装VMware1. 文章引言 我们使用最多的系统是windows系统&#xff0c;因为&#xff0c;国内电脑厂商的操作系统(os)基本是windows系统&#xff0c;比如华为、联想、华硕等电脑。 但线上的服务器大多是Linux系统&#xff0c;而我们经常使用…

numpy 中常用的数据保存、fmt多个参数

在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多 一、保存为二进制文件(.npy/.npz) &#xff08;1&#xff09;numpy.save(file, arr, allow_pickleTrue, fix_importsTrue) file:文件名…

基于微信小程序的生活日用品交易平台 的设计与实现

基于微信小程序的生活日用品交易平台 的设计与实现 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一…