Spring注解之@Autowired自动装配bean 综述
@Autowired的工作原理是什么?在启动spring IoC时,容器自动装载了一个AutowiredAnnotationBeanPostProcessor后置处理器,当容器扫描到@Autowired、@Resource或@Inject时,就会在IoC容器自动查找需要的bean,并装配给该对象的属性。
@Autowired:属于Spring 的org.springframework.beans.factory.annotation包下,可用于为类的属性、构造器、方法进行注值。
@Resource:不属于Spring的注解,而是来自于JSR-250位于java.annotation包下,使用该annotation为目标bean指定协作者bean。
@Autowired注解自动装配具有兼容类型的单个bean属性,如指定的xxxService等。
-构造器,普通字段(即使是非public),一切只有参数的方法都可以应用@Autowired。
-默认情况下,当IOC容器里存在多个类型兼容的bean时,通过类型的自动装配将无法工作。此时可以在@Qualifiter注解里提供bean的名称,Spring允许对方法的入参标注 @Qualifiter以指定注入bean的名称。
-@Autowired注解也可以应用在数组类型的属性上,此时Spring将会把所有匹配的bean进行自动匹配。
-@Autowired注解也可以应用在集合属性上,此时Spring读取该集合的类型信息,然后自动装配所有与之兼容的bean。
-@Autowired注解用在java.util.Map上时,Map的key必须是String类型,那么Spring将自动装配与之Map值类型兼容的bean,此时bean的名称作为键值。
相关@Autowired注解的更详细介绍,请移步如下文章:
- Spring注解之@Autowired组件装配
- Spring注解之@Autowired:装配构造函数和属性
- Spring注解之@Autowired:Setter 方法上使用@Autowired注解
- Spring注解之@Autowired:注入Arrays, Collections, and Maps

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南