Spring的注解积累

PlayerCap 3.0:不截图不抠色的歌词捕捉工具详解 在数字音乐场景中,歌词的保存与整理长期依赖截图、抠色、OCR等图像处理手段,不仅效率低,而且受播放器皮肤、背景渐变和字体影响,结果难以复用。借助系统媒体接口与播放器元数据,现代工具可以直接从播放器读取歌曲名和歌词文本,将流程简化为“获取元数据→文本清洗→导出LRC”。这种基于结构化数据的歌词捕捉方式,在跨播放器兼容性、歌词准确率和自动化批量整理方面具备显著优势。无论是建立个人歌词库、制作双语字幕,还是维护本地音乐资料,都离不开稳定高效的歌词捕捉工具。PlayerCap 3.0 正是面向这一需求的设计,它不依 阅读详情

注解来向Spring容器注册Bean。

需要在applicationContext.xml中注册:

1:@Repository 标注在持久层,即dao,用于标注数据访问。

2:@Service 标注在业务层,即service,用于标注业务逻辑。

3:@Controller 标注在控制层。

4:@Component 当不明确这个类属于那个层的时候,可以使用@Component进行标注,但不建议使用

5:@Autowired 属性加上@Autowired后不需要getter()和setter()方法,Spring会自动注入。
@Autowired(required=false)表示,如果spring上下文中没有找到该类型的bean时,才会使用new ServiceImpl(); 


6:@Qualifier 当接口存在两个实现类的时候必须使用@Qualifier指定注入哪个实现类,否则可以省略,只写@Autowired。
 例如:定义一个交通工具类:Vehicle。此时有两个子类Bus和Sedan。如果用@Autowired来找Vehicle的话,会有两个匹配的选项Bus和Sedan。为了限定选项,可以如下


7:形似@Service("xXX"):相当于讲这个类定义为一个bean,bean名称为xXX,默认为首字母小写
比如在一个Student实现类上加上@Service("student"),括号里面就是给实例化后的Student对象取个名字。这是在你一个接口有多个实现类的情况下区分实现类的方式。
比如Student实现了Person接口,在你的controller里面@Autowired Person时,假如这时Person还有另一个实现类User,为了确定实例化Student还是User, @Service括号里面的东西就有用了,



8:@Resource

@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。
@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。
所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。



@Resource装配顺序

1).如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常

2) 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常

3) 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常

4) 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

9:@PostConstruct,@PreDestroy

这两个注释只能应用于方法上,标注了@PostConstruct 注释的方法将在类实例化后调用,而标注了 @PreDestroy 的方法将在类销毁之前调用。


转自博客园

工程伦理-知识点汇总 阅读详情

相关推荐

奥比中光Dabai深度相机SDK在Ubuntu22.04的兼容性安装指南

本文详细指导如何在Ubuntu22.04系统上安装奥比中光Dabai深度相机的SDK。针对新旧版本不兼容的核心问题,重点推荐使用经过验证的v1.10.18版本SDK,并提供了从系统依赖检查、SDK下载安装、Python环境配置到编译测试的完整步骤,帮助用户成功解决安装难题并实现相机驱动。

j2k3l4的博客 1001

Spring注解积累

1.@postconstruct初始化的操作 从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion);@PostConstruct和@PreDestroy。这两个注解被用来修饰一个非静态的void()方法 。写法有如下两种方式: @PostConstruct Public void someMethod() {} 或者 public @Post...

huyekeke1989的博客 209

AIGC实战指南:从提示词到工作流,掌握AI内容生成核心技能

人工智能生成内容(AIGC)作为当前AI技术的重要应用领域,其核心原理基于大语言模型(LLM)对海量数据的学习与模式识别。这项技术的价值在于将复杂的创作过程自动化,显著提升内容生产效率与创意实现的多样性。在实际应用中,AIGC已广泛渗透至文本创作、图像设计、音频合成及视频生成等多个场景,成为数字内容生产的重要工具。要高效运用AIGC,关键在于掌握提示词工程与模型微调等核心技能。例如,通过结构化提示词设计,可以精确引导模型生成符合预期的专业周报;而选择合适的微调模型,则能大幅提升图像生成的风格控制力与输出质量

weixin_26808439的博客 375

spring 注解积累

用注解来向Spring容器注册Bean。 需要在applicationContext.xml中注册: 1:@Repository 标注在持久层,即dao,用于标注数据访问。 2:@Service 标注在业务层,即service,用于标注业务逻辑。 3:@Controller 标注在控制层。 4:@Com...

b052718的专栏 198

【清华大学软院】15-19年推免试题历年整理

整理的题目为清软预推免机试(外校)硕士机考题目。 年代 题目1 题目2 题目3 2019 质因数分解 二叉搜索树 区间DP(折叠字符串) 2018 日期转换 高精度模拟 区间DP(戳气球) 2017 进制素数 被遗漏的数字 DP(收集苹果) 2016 大数运算 DP DFS 2015 进制素数: http://acm.hdu.edu.cn/showproblem.php?pid=1230 2017年题目(这个是找的最准确的题目): 1题见【链接】 2题见【链接】

云端筑梦师 2256

2019年7月28日解决战网BLZBNTBNA00000005BLZBNTBNA00000006BLZBNTBTS0000005DBLZBNTBTS0000004A 007D0 008A4 00840

Blizzard—Battle.net—2019年7月28解决战网BLZBNTBNA00000005BLZBNTBNA00000006BLZBNTBTS0000005DBLZBNTBTS0000004A 007D0 008A4 008402019年7月28日再次更新写在前面■■■ 排查网路问题 ■■■■■■ 排查电脑自身问题 ■■■■尝试重置internet设置■网络的设置和防火墙规则■如果还是不...

MCGC高质人类协作会-MCG贴吧 3万+

Spring注解的使用积累

一,开启Spring的注解功能,这样Spring环境才会进行指定位置的扫描,进行类之间的关联组合: [html] view plain copy  print?     base-package : 表示当前扫描的包,框架会根据包查找所有使用注解的类    -->   context:component-scan base-package="ace

豪猪的博客 301

STM32项目实战_基于STM32F103的智能药箱设计与实现(硬件详解+软件逻辑+调试要点)

本文详细介绍了基于STM32F103的智能药箱设计与实现,涵盖硬件设计、软件逻辑和调试要点。项目核心功能包括精准提醒、药品管理和远程监控,采用STM32单片机作为主控,结合光电开关、蓝牙模块等实现智能化管理。文章还分享了电路图设计、程序优化及常见问题解决方案,为嵌入式开发爱好者提供实用参考。

weixin_28717683的博客 303

spring注解积累

1、@RestController @RestController注解,相当于@Controller+@ResponseBody两个注解的结合,类中的所有方法都自动加上@ResponseBody注解,因此不能返回jsp,html页面,视图解析器无法解析jsp,html页面。 如果要返回到jsp,html页面,则将@RestController改为@Controller,然后方法需要决定是否要加...

fgx_123456的博客 188

OpenClaw 报错 TypeError: Cannot read properties of undefined (reading ‘prototype‘):Node.js 版本不兼容

国产化环境中部署OpenClaw云边协同平台时,出现"TypeError: Cannot read properties of undefined (reading 'prototype')"报错。经分析发现根本原因是Node.js版本与依赖生态不兼容,新版本Node(如v21)移除了旧依赖使用的内部API。解决方案包括:1)使用nvm切换至兼容的Node 16/18 LTS版本;2)容器化部署固定Node版本;3)遵循官方推荐的引擎版本范围。该问题揭示现代工程中版本管理的重要性,

博客 2314

L2tp环境搭建笔记- Openwrt平台

本文使用3台openwrt设备, 分别搭建L2TP服务和2个客户端, 进行端到端验证和局域网组网,并分析搭建过程中涉及的默认路由( defaultroute) 配置问题。

十年通信老兵的技术修炼之路——从3G到5G,从地面基站到卫星通信。 3394

Spring 注解积累

@Controller和@RestController的区别? 知识点:@RestController注解相当于@ResponseBody + @Controller合在一起的作用。   1) 如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResol...

qq2413273056的博客 211

Altair HyperWorks软件二次开发:二次开发成果展示与报告撰写

HyperMesh Python API允许用户通过Python脚本控制HyperMesh的大部分功能,包括模型创建、修改和分析。它提供了丰富的函数库,可以处理节点、元素、材料属性、载荷和边界条件等。二次开发可以用于创建自定义工具,这些工具可以集成到HyperWorks中,提供特定的功能或简化复杂的操作。

kkchenjj的博客 1642

Spring常用注解积累

@NotNull 被注解的元素不能为null

qq_37511997的博客 174

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring积累(1):注解总结

·

mingyuli的博客 372

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

20200607积累(Spring注解@Configuration、@Bean、@ComponentScan、自建注解类)

1.【Spring注解开发 cr.冰河技术】使用@Configuration和@Bean向容器中注册组件: 自定义spring注入的Bean,面试时也问到过这个问题 (注解方式√ xml方式) 使用注解注入Javabean时,bean在IOC中的名称就是使用@Bean注解标注的方法名称。为bean单独指定名称则只要在@Bean注解中明确指定名称就可以了。(value="BeanName") 2.【Spring注解驱动开发 cr.冰河技术】使用@ComponentScan自动扫描组件并指定扫..

zoEy的博客 203

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java 知识积累_java学习知识积累-spring常用注解

java学习知识积累-spring常用注解类的分层注解,由于我们后台开发都是分为三层进行开发的,所以Spring框架提供了三种对于不同层的注解方式:控制层:@Controller服务层:@Service持久层:@Repository以下是具体的案列解析:1、@Controller对应表现层的Bean,也就是Action,例如:@Controller@RequestMapping(value = "...

weixin_34929181的博客 226

java程序员进阶,Spring注解驱动

注解 | 说明 | 备注 || @Before | 在目标方法执行之前通知 | || @After | 在目标方法执行之后通知 | || @AfterRturning | 在目标方法执行正常返回后通知 | || @AfterThrowing | 在目标方法执行出现异常后通知 | || @Around | 环绕通知 | || @PointCut | 定义切点 | || @EnableAspectJAutoProxy | 开启切面支持 | |

2401_84415652的博客 728

【项目问题积累】spring 循环依赖,Bean使用@Async注解 导致项目启动失败

一天下午,重新部署测试环境的时候,发现服务启动失败,报如下错误: ERROR o.s.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ma...

遇见未知的自己 1万+
上一篇: java.lang.IllegalAccessError: tried to access method oracle.jdbc.pool.OracleDataSource.getPassword()
下一篇: oracle 对应的JDBC驱动 版本
deb_ug
博客等级 码龄17年 7粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值