Spring常用注解的详细介绍(包你学明白)

article/2025/11/10 19:18:15

目录

1. 为什么要使用注解?

2. 什么是注解?

3. 在Spring中使用注解的前期准备

4. @Component注解的详细介绍

 5. @Value注解的详解介绍

 6. @Autowired注解的详细介绍

7.  @Resource注解的详细介绍

 8. 怎么选择基于xml还是基于注解的方式创建对象并赋值呢?


1. 为什么要使用注解?

答:在最开始我们接触Spring的时候,我们大家都是在.xml文件中,通过<bean>标签来给要创建的对象赋值,这样以来我们就会写大量的<bean>标签,这就显得很冗余。因此,我们迫切需要一种更简单的方法,去给对象赋值。这种情况已经被Spring开发人员所解决,于是就有了今天我们要介绍的Spring的注解方式。

我们可以使用Spring的方式来创建对象,并且也可以使用注解给对象赋值。而不再是单纯的一直使用<bean>的set注入,构造注入,自动注入来创建对象和赋值。

补充:关于Spring中的set注入,构造注入,可以参考我前面写的:  http://t.csdn.cn/inw4n

           关于Spring中的自动注入(byName,byTpye),可以参考我前面写的   http://t.csdn.cn/T9Uhz

2. 什么是注解?

我们其实对注解这个词汇,既熟悉又陌生。适当的明白注解大概是什么,能让我们在初步学习Spring注解的时候,起码不会恐慌。

正式开始介绍注解:细心的查看我们之前学习的代码,你会发现,当我们在重写toString方法的时候,这个重写的方法上面就有一个@override。那么这个带有@符号的就是注解,这样看的话,其实注解也并不是距离我们很远。

 注意:所有的注解都是@interface类型的,你可以将鼠标放到注解上面,并且同时按住ctrl键,这样你就可以看到这个注解的定义。

 上图中的红色小圆点处会写这个注解的属性有哪些。只不过是@override这个注解没有自己的属性而已。

所以:我们可以在Spring中使用注解的方式创建对象,并且可以在使用注解创建对象的同时,给对象赋值。Spring中使用注解的方式创建对象是通过反射的方式创建的对象。

3. 在Spring中使用注解的前期准备

  • 必须在Pom.xml文件中加入Spring-context依赖,和Spring-aop依赖。由于Spring-context依赖中已经包含了Spring-aop依赖,因此我们最后添加一个Spring-context依赖就够了。
  • 在Spring的配置文件applicationContext.xml中,加上组件组件扫描器,也叫做注解扫描器。
<context:component-scan base-package="你使用注解的类所在的路径(写到包就行)"></context:component-scan>

4. @Component注解的详细介绍(创建对象的)

 5. @Value注解的详解介绍(给简单类型的属性赋值的)

 6. @Autowired注解的详细介绍(给引用类型的属性赋值的

7.  @Resource注解的详细介绍(给引用类型的属性赋值的)

 8. 怎么选择基于xml还是基于注解的方式创建对象并赋值呢?

答案:若是要经常改动创建对象的值,那么我们使用基于xml的方式去创建对象

           若是不经常改动创建对象的值,那么我们使用主机的方式去创建对象并赋值。

补充:我尝试过,可以使用xml文件的方式创建对象,再使用注解的方式给创建的对象赋值。!!


http://chatgpt.dhexx.cn/article/B712DjYB.shtml

相关文章

Spring中的注解详细介绍

注&#xff1a;标颜色的需要重点掌握 一、Spring原始注解&#xff1a; Spring原始注解主要代替<bean>标签的配置。 1. Component 说明&#xff1a;使用在类上用于实例化Bean 2. Repository 说明&#xff1a;使用在dao层类上用于实例化…

isnumeric_Python字符串isnumeric()

isnumeric Python String isnumeric() function returns True if all the characters in the string are numeric, otherwise False. If the string is empty, then this function returns False. 如果字符串中的所有字符均为数字&#xff0c;则Python String isnumeric&#x…

isdigit isdecimal isnumeric 区别

一、代码测试 num "1" #unicode num.isdigit() # True num.isdecimal() # True num.isnumeric() # Truenum "1" # 全角 num.isdigit() # True num.isdecimal() # True num.isnumeric() # Truenum b"1" # byte num.isdigit() # True n…

StringUtils.isNumeric使用

网上查"java 判断字符串为数字"阅资料&#xff0c;大部分资料都在讲字符串转为整数的情况&#xff0c;很少资料提及关于负数和小数的情况&#xff0c;最终决定采用StringUtils.isNumberic这个方法差别&#xff0c; 在测试导出时发现有报错&#xff0c;用debug模块一…

Java 字符串的数字校验:isNumeric,isNumericSpace和正则表达式,对比分析

导读 数字类型的判断是项目里常见的场景&#xff0c;相比一大串的非空&#xff0c;instanceof 以及大于小于0的判断&#xff0c;我更倾向于使用工具类 StringUtils 或者 正则表达式 来实现功能&#xff0c;追求代码的简洁和高效。 你可能需要的博客&#xff1a; 正则表达式预编…

StringUtils.isNumeric(str)

在项目中遇到一处bug&#xff0c;调试的结果竟然是StringUtils.isNumeric(String str) 在捣鬼&#xff08;采用的是org.apache.commons.lang.StringUtils&#xff09;&#xff0c;下面的代码是判断一个参数非空&#xff0c;且为整数&#xff1a; if(StringUtils.isNumeric(str)…

第六十七章 SQL函数 ISNUMERIC

文章目录 第六十七章 SQL函数 ISNUMERIC大纲参数描述示例 第六十七章 SQL函数 ISNUMERIC 测试有效数字的数值函数。 大纲 ISNUMERIC(check-expression)参数 check-expression - 要计算的表达式。 ISNUMERIC返回SMALLINT数据类型。 描述 ISNUMERIC计算check-expression并…

isnumeric( )函数用法

isnumeric( )还是一个很实用的函数&#xff0c;在算法题目里面应该会有比较大的作用。 检测字符串是否只由数字组成&#xff0c;如果字符串中只包括数字&#xff0c;就返回Ture&#xff0c;否则返回False。 华为的一道算法题&#xff1a; 读入一个字符串str&#xff0c;输出字…

MAE:视觉自监督2021(原理+代码)

文章目录 前言一、MAE原理遮住95%的像素后&#xff0c;仍能还原出物体的轮廓&#xff0c;效果如图&#xff1a; 二、MAE测试代码1.models_mae.py1.1 self.forward_encoder1.2 self.forward_decoder1.3 loss self.forward_loss(imgs, pred, mask) 2.run_one_image 三、MAE升级版…

​一文看尽MAE最新进展!恺明的MAE已经提出大半年,目前发展如何?

©PaperWeekly 原创 作者 | Jason研究方向 | 计算机视觉 写在前面 自去年 11 月份恺明大神提出 MAE 来&#xff0c;大家都被 MAE 简单的实现、极高的效率和惊艳的性能所吸引。近几个月&#xff0c;大家也纷纷 follow 恺明的工作&#xff0c;在 MAE 进行改进&#xff08;如…

一文解读Masked Autoencoder(MAE)

前言 论文链接&#xff1a;https://arxiv.org/pdf/2111.06377.pdf   跟李沐学AI&#xff1a;https://www.bilibili.com/video/BV1sq4y1q77t?spm_id_from333.999.0.0   如果说Vision Transformer是Transformer在CV领域的拓展&#xff0c;那么Masked Autoencoder就是BERT在C…

matlab mse mae,回归评价指标MSE、RMSE、MAE、R-Squared

前言 分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared。下面一一介绍 均方误差(MSE) MSE (Mean Squared Error)叫做均方误差。看公式 image.png 这里的y是测试集上的。 用 真实值-预测值 然后平方之后求和平均。 猛着看一下这个公式是不是觉…

何凯明最新一作MAE(mask掉图片的部分信息也能重建识别)

导读 凯明出品&#xff0c;必属精品。没有花里胡哨的修饰&#xff0c;MAE就是那么简单的强大&#xff0c;即结构简单但可扩展性能强大。MAE通过设计一个非对称的编码解码器&#xff0c;在预训练阶段&#xff0c;通过高比例的掩码原图&#xff0c;将可见部分输入到编码器中&…

李沐精读论文:MAE 《Masked Autoencoders Are Scalable Vision Learners》

论文&#xff1a;Masked Autoencoders Are Scalable Vision Learners 别再无聊地吹捧了&#xff0c;一起来动手实现 MAE(Masked Autoencoders Are Scalable Vision Learners) 玩玩吧&#xff01; - 知乎 参考博文&#xff1a;MAE 论文逐段精读【论文精读】 - 哔哩哔哩 神洛华…

从Transformer到ViT再到MAE

从Transformer到VIT再到MAE 引言Transfomer提出的背景模型架构具体细节Add&NormAttention&#xff1a;Multi-Head Attention自注意力机制&#xff08;self attention&#xff09;Positional Encoding ViT提出的背景&#xff1a;模型架构&#xff1a;具体细节&#xff1a;维…

MAE简记

MAE简记 文章目录 MAE简记Mask 方法EncoderDecoderTarget & LOSS Mask 方法 将图片分割成不重复的正方形patch&#xff0c;遮挡其中一部分patch(75%) Encoder 采用ViT&#xff0c;但是只对可见的没有被masked的patch使用 Decoder 以encoder的输出masked的patch作为输入…

何凯明最新一作MAE解读系列1

导读 凯明出品&#xff0c;必属精品。没有花里胡哨的修饰&#xff0c;MAE就是那么简单的强大&#xff0c;即结构简单但可扩展性能强大。MAE通过设计一个非对称的编码解码器&#xff0c;在预训练阶段&#xff0c;通过高比例的掩码原图&#xff0c;将可见部分输入到编码器中&…

基于CIFAR数据集 进行 MAE实现及预训练可视化 (CIFAR for MAE,代码权重日志全部开源,自取)

基于CIFAR数据集 进行 MAE实现及预训练可视化 &#xff08;CIFAR for MAE&#xff0c;代码权重日志全部开源&#xff0c;自取&#xff09; 文章目录 基于CIFAR数据集 进行 MAE实现及预训练可视化 &#xff08;CIFAR for MAE&#xff0c;代码权重日志全部开源&#xff0c;自取&a…

PyTorch笔记 - MAE(Masked Autoencoders) PyTorch源码

欢迎关注我的CSDN&#xff1a;https://blog.csdn.net/caroline_wendy 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/128382935 Paper&#xff1a;MAE - Masked Autoencoders Are Scalable Vision Learners 掩码的自编码器是可扩展的视觉学习器 …

何凯明新作MAE 学习笔记

【MAE与之前AI和CV领域最新工作的关系】 学习MAE视频【李沐】 He, K., Chen, X., Xie, S., Li, Y., Dollr, P., & Girshick, R. (2021). Masked autoencoders are scalable vision learners. arXiv preprint arXiv:2111.06377. 【Transformer】 Transforme纯注意力&…