springboot中一些注解

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.mzph.cn/news/640283.shtml

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

相关文章

2017年认证杯SPSSPRO杯数学建模B题(第一阶段)岁月的印记全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 跨年龄人脸识别模型的建立与分析 B题 岁月的印记 原题再现: 对同一个人来说,如果没有过改变面容的疾病、面部外伤或外科手术等经历,年轻和年老时的面容总有很大的相似性。人们在生活中也往往能够分辨出来两…

2.【SpringBoot3】用户模块接口开发

文章目录 开发模式和环境搭建开发模式环境搭建 1. 用户注册1.1 注册接口基本代码编写1.2 注册接口参数校验 2. 用户登录2.1 登录接口基本代码编写2.2 登录认证2.2.1 登录认证引入2.2.2 JWT 简介2.2.3 登录功能集成 JWT2.2.4 拦截器 3. 获取用户详细信息3.1 获取用户详细信息基本…

爬虫小案例—雪球网行情中心板块数据抓取

雪球网行情中心网址:https://xueqiu.com/hq 目标:市场一览板块、热股榜板块、新股预告板块、关注排行榜板块 源代码如下: import datetimeimport requestsheaders {user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKi…

一周时间,开发了一款封面图生成工具

介绍 这是一款封面图的制作工具,根据简单的配置即可生成一张好看的封面图,目前已有七款主题可以选择。做这个工具的初衷来自平时写文章,都为封面图发愁,去图片 网站上搜索很难找到满意的,而且当你要的图如果要搭配上文…

【JavaEE进阶】 关于⽇志框架(SLF4J)

文章目录 🌳SLF4j🌲⻔⾯模式(外观模式)🚩⻔⾯模式的定义🚩⻔⾯模式的优点 🍃关于SLF4J框架🚩不引⼊⽇志⻔⾯🚩引⼊⽇志⻔⾯ ⭕总结 🌳SLF4j SLF4J不同于其他⽇志框架,它不是⼀个真正…

构建高效外卖系统:技术实践与代码示例

外卖系统在现代社会中扮演着重要的角色,为用户提供了便捷的用餐解决方案。在这篇文章中,我们将探讨构建高效外卖系统的技术实践,同时提供一些基础的代码示例,帮助开发者更好地理解和应用这些技术。 1. 技术栈选择 构建外卖系统…

自动化运维神器—ansible详解

一、ansible简介 1.ansible定义 ansible是目前最受运维欢迎的自动化运维工具,基于Python开发,集合了众多运维工具(SaltStack puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功…

[Java并发基础]多进程编程

Java并发基础:多进程编程 在Java编程中,多进程编程是一种并发编程的方法,它允许我们同时执行多个独立的进程。每个进程都有自己的内存空间和执行环境,它们可以独立运行,相互之间不会干扰。 文章目录 Java并发基础&…

【算法详解】力扣415.字符串相加

一、题目描述 力扣链接:力扣415.字符串相加 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串…

BP蓝图映射到C++笔记1

教程链接:示例1:CompleteQuest - 将蓝图转换为C (epicgames.com) 1.常用的引用需要记住,如图所示。 2.蓝图中可以调用C函数,也可以实现C函数 BlueprintImplementableEvent:C只创建,不实现,在蓝图中实现 B…

C++提高编程---模板---类模板

目录 一、类模板 1.模板 2.类模板的作用 3.语法 4.声明 二、类模板和函数模板的区别 三、类模板中成员函数的创建时机 四、类模板对象做函数参数 五、类模板与继承 六、类模板成员函数类外实现 七、类模板分文件编写 八、类模板与友元 九、类模板案例 一、类模板 …

373. 查找和最小的 K 对数字

373. 查找和最小的 K 对数字 题目链接:373. 查找和最小的 K 对数字 代码如下: //参考leetcode官方题解:https://leetcode.cn/problems/find-k-pairs-with-smallest-sums/solutions/1208350/cha-zhao-he-zui-xiao-de-kdui-shu-zi-by-l-z526 …

软件测试的需求人才越来越多,为什么大家还是不太愿意走软件测试的道路?

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

【ARMv8M Cortex-M33 系列 5 -- RT-Thread .rti_fn 段简介】

文章目录 .rti_fn 段的作用 .rti_fn 段的作用 在 RT-Thread 实时操作系统中,.rti_fn 代码段通常用于存放初始化函数。RT-Thread 的启动过程中包括了一系列的初始化步骤,这些初始化函数被分配到特定的代码段中,以便操作系统在启动时按照预定的…

【动态规划】【C++算法】801. 使序列递增的最小交换次数

作者推荐 【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径 本文涉及知识点 动态规划汇总 数组 LeetCode801使序列递增的最小交换次数 我们有两个长度相等且不为空的整型数组 nums1 和 nums2 。在一次操作中,我们可以交换 nums1[i] 和 num…

路飞项目--03

二次封装Response模块 # drf提供的Response,前端想接收到的格式 {code:xx,msg:xx} 后端返回,前端收到: APIResponse(tokneasdfa.asdfas.asdf)---->{code:100,msg:成功,token:asdfa.asdfas.asdf} APIResponse(code101,msg用户不存在) ---…

学习笔记-李沐动手学深度学习(一)(01-07,概述、数据操作、tensor操作、数学基础、自动求导)

个人随笔 第三列是 jupyter记事本 官方github上啥都有(代码、jupyter记事本、胶片) https://github.com/d2l-ai 多体会 【梯度指向的是值变化最大的方向】 符号 维度 (弹幕说)2,3,4越后面维度越低 4…

Java 面向对象案例 02 (黑马)

代码: public class foodTest {public static void main(String[] args) {//1、构建一个数组food[] arr new food[3];//2、创建三个商品对象food f1 new food("apple","123",3.2,500);food f2 new food("pear","456",4…

临时工说:AI 人工智能化对于DBA 的工作的影响

这开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内,可以解决你的问题。加群请联系 liuaustin3 ,(共1900人左右 1 2 3 4 5&#xf…

ChatGPT:关于 OpenAI 的 GPT-4工具,你需要知道的一切

ChatGPT:关于 OpenAI 的 GPT-4工具,你需要知道的一切 什么是GPT-3、GPT-4 和 ChatGPT?ChatGPT 可以做什么?ChatGPT-4 可以做什么?ChatGPT 的费用是多少?GPT-4 与 GPT-3.5 有何不同?ChatGPT 如何…