news 2026/8/14 10:35:17

Spring IOC与DI核心注解速查表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring IOC与DI核心注解速查表

一、IOC创建对象的4个核心注解

  1. @Controller- 用于标注控制器层组件(Controller层)
  2. @Service- 用于标注业务逻辑层组件(Service层)
  3. @Repository- 用于标注数据访问层组件(DAO层)
  4. @Component- 用于标注非三层架构的其他地方(通用组件)

原理:这些注解本质都是@Component的衍生注解,用于声明Bean并交由Spring容器管理


二、@Scope注解 - 控制对象作用域

@Scope("singleton")// 单例模式(默认)@Scope("prototype")// 多例模式

作用:控制Bean是单例还是多例,解决对象线程安全问题


三、XML配置 - 注解扫描生效

<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!-- 扫描指定包下的注解 --><context:component-scanbase-package="com.luo"/></beans>

关键点component-scan标签开启注解驱动,本质是BeanFactoryPostProcessor在操作


四、DI依赖注入注解

注解注入类型默认规则使用场景
@Value基本类型直接赋值字符串、数字等基本类型注入
@Autowired引用类型按类型注入(byType)同一类型Bean唯一时使用
@Resource引用类型按名字注入(byName)需要明确指定Bean名称时
@Qualifier配合@Autowired按名字注入同一接口多个实现类时精确定位

优势:相比XML配置,注解方式无需编写set方法,开发更高效


五、完整示例代码

@Service("userService")// 指定id为userService,默认是首字母小写的类名@Scope("singleton")publicclassUserServiceImplimplementsUserService{// 基本类型注入@Value("19")privateintage;// 引用类型自动注入(默认按类型)@AutowiredprivateUserDaouserDao;// 如果存在多个UserDao实现类,可配合@Qualifier使用// @Autowired// @Qualifier("userDaoImpl")// private UserDao userDao;@OverridepublicvoidfindUserById(){userDao.findUserById();System.out.println("UserService!!!!");}}

六、快速记忆口诀

IOC四兄弟:Controller、Service、Repository、Component
Scope控单例:singleton默认,prototype多例
DI四剑客:Value基本型,Autowired类型,Resource名字,Qualifier配合
XML扫注解:component-scan包路径
修改BeanID:@Component(“自定义名称”)


七、原理补充(理解性记忆)

所有注解生效的前提是Spring容器启动时通过<context:component-scan>扫描包路径,将带有注解的类注册为BeanDefinition,再由BeanFactory实例化并管理其生命周期

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/13 11:38:40

42、数据绑定中的错误处理与ASP.NET数据绑定实践

数据绑定中的错误处理与ASP.NET数据绑定实践 在数据应用开发中,数据输入验证和错误处理是至关重要的环节。下面将详细介绍自定义对象的错误信息提供、数据并发问题解决以及ASP.NET中的数据绑定相关内容。 自定义对象通过IDataErrorInfo提供错误信息 在使用自定义业务对象进…

作者头像 李华
网站建设 2026/8/13 10:16:04

46、WinFx数据绑定入门指南

WinFx数据绑定入门指南 1. WinFx数据绑定基础 在之前看到的一些简单的WinFx应用程序示例中,并没有涉及到数据相关的操作。实际上,WinFx拥有丰富的模型来设置数据绑定控件,其工作方式与Windows Forms有所不同,旨在更加灵活且减少代码量。 WinFx元素支持数据绑定上下文的概…

作者头像 李华
网站建设 2026/8/11 17:51:09

Kotaemon危机公关声明撰写:负面舆情应对

Kotaemon危机公关声明撰写&#xff1a;负面舆情应对 在社交媒体主导信息传播的今天&#xff0c;一条突发负面新闻可能在几小时内演变为一场全面的品牌危机。某知名消费电子企业曾因产品安全质疑在微博发酵&#xff0c;短短三小时内话题阅读量突破2亿&#xff0c;而其公关团队直…

作者头像 李华
网站建设 2026/8/13 16:57:51

Kotaemon如何生成参考文献?学术写作辅助新玩法

Kotaemon如何生成参考文献&#xff1f;学术写作辅助新玩法 在撰写论文的深夜&#xff0c;你是否曾为找不到合适的文献引用而焦头烂额&#xff1f;又是否因格式不统一、作者名拼写错误等细节问题被审稿人退回修改&#xff1f;这些看似琐碎却极为关键的问题&#xff0c;正悄然吞噬…

作者头像 李华
网站建设 2026/8/13 19:00:17

12、深入解析词法分析与语法分析工具的核心功能

深入解析词法分析与语法分析工具的核心功能 在编程和软件开发中,词法分析和语法分析是构建编译器、解释器等工具的重要基础。下面将详细介绍相关工具中的一些关键函数和特性。 词法分析相关函数 yymore() 和 yyless() 当处理带引号的字符串时,如果字符串以反斜杠结尾,在…

作者头像 李华
网站建设 2026/8/14 1:56:05

13、Bison 解析器的高级特性与使用技巧

Bison 解析器的高级特性与使用技巧 1. 错误恢复机制 当解析器遇到无法解析的输入标记时,会尝试按照以下步骤进行错误恢复: 1. 调用 yyerror("syntax error") ,通常用于向用户报告错误。 2. 丢弃所有部分解析的规则,直到回到可以移入特殊错误符号的状态。 …

作者头像 李华