Java-springBoot常用注解讲解

一、@Configuration 注解和@Bean 注解

  1.  @Configuration 可以理解为spring xml配置中的<beans>标签,@Bean可理解为用spring的时候xml里面的<bean>标签
  2. @Configuration 注解的是类,@Bean 注解域为方法,对象
  3. 在Spring Boot 5.2之后的@Configuration注解多了一个属性proxyBeanMethods,默认为true

二、@Component

  1. 官方解释:带此注解的类,当使用基于注解的配置和类路径扫描的时候,这些类就会被实例化.相当于配置文件中的<bean id =" ", class=" "/>
  2. 泛指组件,当组件不好归类时,就用@Component注解,启动时,用@ComponentScan去扫描

三、 @Controller,@Service,@Repository

        1. 像@Controller@Service,@Repository需要注解bean的话,也需要在启动类增加@ComponentScan去扫描 

      2. @Controller[是@component的扩展]用于标注控制层组件,类似之前的配置中struts中的action

         

      3. @Service[是@component的扩展]用于标注业务层组件(注入DAO)

        

        4. @Repository[是@component的扩展]用于标注数据访问组件,即DAO组件,实现DAO访问

         

四、@Autowired

  1. @Autowired 是一个注释,它可以对类成员变量、方法及构造函数山进行标注,让 spring 完成 bean 自动装配的工作。
  2. 如果@Autowired 注入到是一个类上相当于将一个实例注入到另一个实例中

         

五、@EnableWebSecurit 和@EnableGlobalMethodSecurity

  1. 当我们想要开启spring方法级安全时,只需要在任何 @Configuration实例上使用@EnableWebSecurit和 @EnableGlobalMethodSecurity 注解就能达到此目的
  2. @EnableWebSecurit 是一个组合注解,一般都会和@EnableGlobalMethodSecurity共同使用
  3. @EnableGlobalMethodSecurity 中有一个参数
    1. prePostEnabled=true会解锁@PreAuthorize和@PostAuthorize两个注解
    2. @PreAuthorize注解会在方法执行前进行验证
    3. @PostAuthorize注解在方法执行后进行验证 

 六、RestController 和Controller 区别

  1.  RestController的作用相当于[ControllerResponseBody]共同作用的结果,但采用RestController请求方式一般会采用Restful风格的形式。
  2. RestController 作用:可以声明该类是controller层的bean,并且将结果直接提交而不经过视图解析并且将结果能自动封装成json格式返回前端

七、@Retention 

  1.  @Retention是用来修饰注解的,注解的注解
  2. @Retention修饰注解,用来表示注解的生命周期,生命周期的长短取决于@Retention的属性RetentionPolicy指定的值

     

取值描述作用范围使用场景
RetentionPolicy.SOURCE

1. 注解只保留在源文件

2.当java文件编译成class文件,就会消失

源文件

只是做一些检查性的操作,

比如 @Override 

RetentionPolicy.CLASS

1. 注解被保留到class文件

2. jvm加载class文件时候被遗弃,这是默认的生命周期

class文件

(默认)

要在编译时进行一些预处理操作
RetentionPolicy.RUNTIME

1. 注解不仅被保存到class文件中

2. jvm加载class文件之后,仍然存在

运行时也存在需要在运行时去动态获取注解信息

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:一般哈希

数据结构&#xff1a;一般哈希 题目描述参考代码拉链法开放寻址法 题目描述 输入样例 5 I 1 I 2 I 3 Q 2 Q 5输出样例 Yes No参考代码 拉链法 #include <iostream> #include <cstring> using namespace std;const int N 100003;int h[N], e[N], ne[N], idx;vo…

基于PHP+MySQL开发的一套游泳馆预约报名小程序开发源码模板

最近新开发了一套游泳馆线上预约报名小程序&#xff0c;其主要功能有预约功能&#xff0c;报名功能&#xff0c;支付功能&#xff0c;个人中心&#xff0c;订单管理&#xff0c;商品管理等等。 游泳馆预约报名小程序系统-运行环境 开发语言&#xff1a;PHP 数据库&#xff1a;M…

对接专有钉钉(浙政钉)登陆步骤

背景 因为项目需要对接浙政钉&#xff0c;我想应该和之前对接阿里云的钉钉登陆钉钉登陆类似&#xff0c;就上网搜索看看&#xff0c;出现了个专有钉钉的概念&#xff0c;就一时间搞不清楚&#xff0c;钉钉&#xff0c;专有钉钉&#xff0c;浙政钉的区别&#xff0c;后续稍微理…

向阳而生,逐光而行。—定制化系统解决方案—

风之所及&#xff0c;皆有麦浪 目之所及&#xff0c;皆为所向

Precision和Recall

Precision&#xff08;精确率 / 查准率&#xff09;和 Recall&#xff08;召回率 / 查全率&#xff09;是分类任务中常用的两种性能度量&#xff0c;它们用于评估模型在处理二分类或多分类问题时的表现。 Precision&#xff08;精确率&#xff09; 精确率衡量的是模型预测为正…

干货!如何在Jmeter中实现对NCR响应的解析

最近做接口测试时发现了一个问题&#xff0c;部分请求的响应是通过NCR编码实现的&#xff0c;这样就导致了无法对这些请求进行断言&#xff0c;为了解决这个问题进行了如下调研&#xff0c;大家可以参考下面两篇文章&#xff1a; 使用Java apache commons包五分钟搞定NCR解析&…

智慧校园应用平台的全面建设

在当今社会&#xff0c;随着科技的不断进步&#xff0c;智慧校园应用平台逐渐成为学校管理的必备工具。在实现智慧校园全面建设的过程中&#xff0c;学校需要运用先进的技术和创新的理念&#xff0c;为教育提供更好的服务和支持。这篇文章将为您介绍智慧校园应用平台的全面建设…

qt中使用QSLite时发现query.value(0).toInt()未获取数据问题

1、首先确保数据库名没有问题 2、确保正常连接 3、非常重要的一点&#xff1a;query.value(0).toInt()之前&#xff0c;必须要有query.first()&#xff0c;非常重要&#xff0c;缺少了这个会一直查不到

ruoyi-nbcio基于jeecg的flowable前端支持自定义表单组件的自动获取方法

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; h…

罗德、西圣、猛犸无线麦克风哪个好?罗德、西圣领夹麦克风对比测评

在当今短视频蓬勃发展的时代&#xff0c;越来越多的人投身于短视频创作的浪潮之中&#xff0c;通过镜头捕捉生活点滴&#xff0c;记录工作瞬间。而在谈及视频制作时&#xff0c;不得不提及的是视频录制工具。目前&#xff0c;随着手机影像技术的飞速发展&#xff0c;其视频录制…

沟通技巧(Communication Skills 业务分析能力)

背景 业务分析的胜任力模型&#xff0c;有六大部分&#xff0c;今天我们看第二部分&#xff0c;业务知识 Analytical Thinking and Problem Solving &#xff1a;分析判断及问题解决能力Behavioural Characteristics&#xff1a; 行为特质&#xff08;责任、道德、适应性等等…

免费注册US.KG域名支持接入CF

注册地址&#xff1a; https://register.us.kg/auth/register 号码和地址我是随便填的&#xff0c;不知道对以后有没有影响 收到激活邮件&#xff0c;可能在垃圾箱里 接下来是有个KYC验证&#xff0c;需要填写信息和上传KYC照片&#xff0c;我也是乱填的和乱上传的。可以去找…

Android Studio | 小白如何运行别人的安卓项目

目录 Step1&#xff1a;正确地打开项目 Step2&#xff1a;AS 同步时报错 Step3&#xff1a;同步完成后启动 Step4&#xff1a;启动成功 说明&#xff1a;本文简称 Android Studio 为 AS Step1&#xff1a;正确地打开项目 重点&#xff1a;确认好项目的根目录是哪个目录&am…

Vitis HLS 学习笔记--通道的FIFO/PIPO选择

目录 1. 简介 2. 代码详解 2.1 FIFO 通道示例 2.1.1 配置默认通道 2.1.2 kernel 代码 2.1.3 综合报告 2.1.4 depth 32 解析 2.1.5 FIFO 通道分类 2.2 PIPO 2.2.1 配置默认通道 2.2.2 kernel 代码 2.2.3 综合报告 2.2.4 PIPO 通道分类 3. 综合对比 3.1 数据类…

WSDM 2023 推荐系统相关论文整理(三)

WSDM 2023的论文录用结果已出&#xff0c;推荐系统相关的论文方向包含序列推荐&#xff0c;点击率估计等领域&#xff0c;涵盖图学习&#xff0c;对比学习&#xff0c;因果推断&#xff0c;知识蒸馏等技术&#xff0c;累计包含近四十篇论文&#xff0c;下文列举了部分论文的标题…

Element UI上传图片和PDF,支持预览,并支持复制黏贴上传

背景 如上图&#xff0c;使用Element UI的el-upload组件&#xff0c;并且预览的时候可以展示图片和PDF格式文件&#xff1b; 做法 index.vue <template><div><el-uploadv-model"diaForm.list":limit"5":on-exceed"handleExceed"…

2.6倍!WhaleTunnel 客户POC实景对弈DataX

作为阿里早期的开源产品&#xff0c;DataX是一款非常优秀的数据集成工具&#xff0c;普遍被用于多个数据源之间的批量同步&#xff0c;包括类似Apache DolphinScheduler的Task类型也对DataX进行了适配和增强&#xff0c;可以直接在DolphinScheduler里面利用通用的数据源调用Dat…

UE4 使用自带的插件制作音频可视化

1.插件默认为开启 2.新建共感NRT&#xff0c;选择要使用的音频 3.添加音频组件&#xff0c;添加共感NRT变量&#xff0c;选择新建的共感NRT对象 4.编写蓝图

【机器学习】YOLOv10与YOLOv8分析

YOLOv10与YOLOv8&#xff1a;实时目标检测技术的演进与对比 一、YOLOv8与YOLOv10的概述二、YOLOv8的特点与优势三、YOLOv10的改进与创新四、YOLOv10与YOLOv8的性能对比五、总结与展望 随着深度学习技术的飞速发展&#xff0c;实时目标检测技术已成为计算机视觉领域的研究热点。…

爬山算法:启发式搜索的简单而有效的方法

1. 概述 爬山算法是一种在人工智能和优化领域广泛使用的启发式搜索方法。它从一个初始解开始&#xff0c;逐步选择邻域内的最优解&#xff0c;直到找到目标点或无法进一步改进为止。该算法的核心在于通过逐渐逼近的方式寻找问题的最优解或近似最优解。 2. 背景 在许多实际问…