springboot中一些注解

news2024/11/26 0:41:58

springboot中一些注解

1:项目启动时会去扫描启动的注解,一般是启动时就想要被加载的方法:

在这里插入图片描述

2:springBoot中MSApplication启动类的一些其他注解:

在这里插入图片描述

  1. @EnableAsync:这是一个Spring框架的注解,它用于开启方法异步调用的功能。当我们在服务中使用此注解后,标记有@Async的方法将通过后台线程池执行,从而实现异步处理逻辑。

  2. @SpringBootApplication:这是Spring Boot的核心注解,它包含了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解的功能。其中,@Configuration表明这是一个配置类,可以定义bean;@EnableAutoConfiguration让Spring
    Boot根据类路径中的jar包依赖自动配置Bean;而@ComponentScan则用于指定自动扫描并加载符合条件的基础组件(如Service、Repository等)所在的包。

  3. @EnableFeignClients:在微服务架构中,该注解用于启用Feign客户端功能,Feign是一个声明式HTTP客户端,使得编写Web
    Service客户端更加简单易用。

  4. .** @EnableDiscoveryClient**:这个注解是Spring Cloud生态中的一部分,用来启用服务发现功能,配合Eureka、Consul等服务注册与发现组件,可以使应用能自动注册到服务中心,并发现其他服务实例。

  5. @EnableScheduling:用于启动基于注解的定时任务调度,带有@Scheduled注解的方法将在被此注解标注的类所在的Spring容器启动后按照设定的时间规则进行执行。

  6. . @EnableSwagger2:启用Swagger 2,这是一个强大的API文档生成工具,可以帮助我们自动生成RESTful API接口文档,方便前后端交互时查阅和测试API。

  7. . @ComponentScan(basePackages = {“com.cmcc.aa.", "com.aa.bd.koala.}):
    指定Spring容器要扫描的组件包,这里会扫描"com.cmcc.sop"及其子包以及"com.newland.bd.koala"及其子包下的所有带有@Service,
    @Component, @Repository或@Controller注解的类。

  8. @ServletComponentScan:用于激活Servlet组件扫描,比如带有@WebServlet、@WebFilter或@WebListener注解的类会被自动检测并注册到Spring容器。

  9. @EnableSwaggerBootstrapUI:这是一个对Swagger UI界面进行增强和定制的注解,用于替换默认的Swagger UI样式和交互方式,提供更友好的API文档展示界面。

3:一些杂谈 @Component 与@bean的区别

在Spring框架中,@Component 和 @Bean注解虽然都用于定义和管理Bean(组件),但它们的使用方式和应用场景有所不同:

  1. @Component: - 类级别的注解,用于标记一个类作为Spring容器中的一个Bean。 - 当Spring通过类路径扫描(component-scan)时,会自动检测到这个注解并将其实例化为一个Bean放入IoC容器中。 -
    常见的派生注解有:@Service, @Repository, @Controller,它们分别对应不同类型的组件。
  2. @Bean: - 方法级别的注解,通常出现在配置类(如@Configuration注解的类)的方法上。 - 使用@Bean注解的方法体负责创建并返回一个对象实例,这个对象会被注册为Spring IoC容器中的一个Bean。 -
    @Bean允许更细粒度地控制Bean的创建过程,比如方法可以接收参数,从而实现基于其他Bean或动态计算来创建新的Bean。 -
    与@Component自动扫描创建Bean的方式相比,@Bean提供了更加手动、灵活的bean定义方式,可以根据需要明确指定Bean的名称、生命周期等属性。
    总结来说,@Component 主要用于自动检测和实例化类成为Spring容器的Bean,而 @Bean
    则是在Java代码中显式地定义如何创建和配置Bean。

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

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

相关文章

RTDETR 引入 UniRepLKNet:用于音频、视频、点云、时间序列和图像识别的通用感知大卷积神经网络 | DRepConv

大卷积神经网络(ConvNets)近来受到了广泛研究关注,但存在两个未解决且需要进一步研究的关键问题。1)现有大卷积神经网络的架构主要遵循传统ConvNets或变压器的设计原则,而针对大卷积神经网络的架构设计仍未得到解决。2)随着变压器在多个领域的主导地位,有待研究ConvNets…

Linux 一键部署influxd2-telegraf

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…

Docker容器引擎(1)

目录 一.Docker 概述 为什么要用到容器? docker是什么? 容器与虚拟机的区别? docker的三个核心概念: 二.安装docker 安装依赖包: 安装 Docker-CE并设置为开机自动启动: 查看 docker 版本信息&#…

制作高端的电子杂志神器推荐

根据市场调查数据显示,越来越多的消费者开始青睐电子杂志这种阅读方式。相比传统纸质杂志,电子杂志具有更高的阅读体验、更便捷的分享和传播方式以及更环保的阅读方式。此外,越来越多的企业也开始重视电子杂志的宣传作用,将其作为…

植物神经功能紊乱到底是什么疾病?今天来告诉你原因和治疗方法!

首先,什么是植物神经功能紊乱?简单来说,植物神经是自主神经系统的一部分,它控制着自主生理反应,比如呼吸、心跳、血压、消化系统等。当这个系统出现紊乱时,就会导致植物神经功能紊乱。咨询:tdhy…

Unity中URP下的 额外灯 逐像素光 和 逐顶点光

文章目录 前言一、额外灯 的 逐像素灯 和 逐顶点灯1、存在额外灯的逐像素灯2、存在额外灯的逐顶点灯 二、测试这两个宏的作用1、额外灯的逐像素灯2、额外灯的逐顶点灯 前言 在之前的文章中,我们了解了 主光相关的反射计算。 Unity中URP下的SimpleLit的 Lambert漫反…

eNSP学习——VLAN基础配置及Access接口

目录 原理概述 实验内容: 实验目的: 实验步骤: 实验拓扑 配置过程 实验编址 基本配置 创建vlan 配置Access接口 原理概述 早期的局域网技术是基于总线型结构的。总线型拓扑结构是由一根单电缆连接所有主机,就导致所…

[SS]语义分割_转置卷积

转置卷积(Transposed Convolution) 抽丝剥茧,带你理解转置卷积(反卷积) 目录 一、概念 1、定义 2、运算步骤 二、常见参数 一、概念 1、定义 转置卷积(Transposed Convolution)&#xf…

如何使用宝塔面板搭建Discuz论坛服务并结合内网穿透远程访问

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上&a…

大模型的高效训练和部署技术卷出新高度

01 大模型训练的挑战 1. 大模型发展现状及问题 上图中展示了大模型的发展历程,其中纵坐标是 AI 模型的参数量。在过去几年间,AI 大模型的参数量飞速增长,大约每 18 个月时间就会增长 40 倍。例如 2016 年,世界最好的大模型 ResNe…

Leetcode—39.组合总和【中等】

2023每日刷题&#xff08;七十六&#xff09; Leetcode—39.组合总和 算法思想 实现代码 class Solution { public:vector<vector<int>> combinationSum(vector<int>& candidates, int target) {vector<vector<int>> ans;vector<int>…

聚道云软件连接器实现航信与用友NC凭证对接,助力企业实现数字化转型

客户介绍&#xff1a; 某自然资源产业集团有限公司是一家专注于自然资源产业的领军企业。自成立以来&#xff0c;该企业始终致力于矿产资源、土地整理和生态修复等领域的业务发展。该企业凭借其卓越的业绩和良好的社会声誉&#xff0c;赢得了广泛的认可与赞誉。 客户痛点&…

burp靶场--host攻击

burp靶场–host攻击 https://portswigger.net/web-security/host-header#what-is-an-http-host-header-attack 在本节中&#xff0c;我们将讨论错误配置和有缺陷的业务逻辑如何通过 HTTP 主机标头使网站遭受各种攻击。我们将概述用于识别易受 HTTP 主机标头攻击的网站的高级方…

Redis+lua 解决秒杀超卖问题

商品超卖的原因是在高并发场景下,业务层面扣库存和库存的判断会出现并发情况&#xff0c;但是使用lua 脚本&#xff0c;就会避免超卖的发生。 1.在项目resources文件夹创建一个名为 stock.lua的脚本 if (redis.call(hexists, KEYS[1], KEYS[2]) 1) thenlocal stock tonumber…

方法(java)

方法&#xff08;method&#xff09;是程序中最小的执行单元 实际开发中&#xff0c;重复的代码、具有独立功能的代码可以抽取到方法中 实际开发中&#xff0c;方法的好处&#xff1a; 1.可以提高代码的复用性 2.可以提高代码的可维护性 方法定义&#xff1a;把一些代码打…

【JS逆向学习】某壁纸下载(ast混淆)

逆向目标 目标网址&#xff1a;https://bz.zzzmh.cn/index逆向接口一&#xff1a;https://api.zzzmh.cn/bz/v3/getData逆向接口二&#xff1a;https://cdn2.zzzmh.cn/wallpaper/origin/0d7d8d691e644989b72ddda5f695aca2.jpg?response-content-dispositionattachment&aut…

基于YOLOv5、v7、v8的竹签计数系统的设计与实现

文章目录 前言效果演示一、实现思路① 算法原理② 程序流程图 二、系统设计与实现三、模型评估与优化① Yolov5② Yolov7③Yolov8 四、模型对比 前言 该系统是一个综合型的应用&#xff0c;基于PyTorch框架的YOLOv5、YOLOv7和YOLOv8&#xff0c;结合了Django后端和Vue3前端&am…

STL之map【有序哈希表】使用方法

这里写目录标题 map【有序哈希表】使用方法1.头文件:2.创建map:3.添加键值对:4.查找键值对&#xff1a;5.遍历键-值对&#xff1a;5.综合示例&#xff1a;班级学生 map【有序哈希表】使用方法 话不多说&#xff0c;接着讲map用法&#xff1a; map&#xff1a;映射&#xff0c…

数组A[m+n]中存放了两个线性表(a1,a2,.....am)和(b1,b2.....bn),将数组中的两个线性表的位置互换,要求空间复杂度为1

要求空间复杂度为O(1)&#xff0c;那么不可以借助辅助数组来完成此操作 算法思路&#xff1a;可先将此数组逆置变成bn,......b1,am,....,a1&#xff0c;然后分别逆转两个线性表的数据元素 算法实现 1、定义一个函数&#xff0c;该函数的功能是可以对一个数组的任意连续的部分进…

网络安全要学些什么?(超详细)

前言 我发现虽然网上已经有非常多的学习路线了&#xff0c;但是仍然有很多零基础的小白还是不懂网络安全到底应该要怎么去学习&#xff0c;我也经常会在后台收到这样的问题“我想学网络安全&#xff0c;需要先学编程语言吗&#xff1f;”、“学渗透就业会不会很难&#xff1f;…