Spring框架@Autowired注解详解
需积分: 16 171 浏览量
更新于2024-09-09
收藏 19KB DOCX 举报
"Spring注解的收集与自动注入"
在Spring框架中,注解是简化配置和增强代码可读性的重要工具。本资源主要介绍了Spring中的@Autowired注解以及@Service注解,以及如何通过XML配置启用注解驱动的组件扫描。
@Autowired注解是Spring 2.5引入的一个关键特性,它允许开发者实现依赖注入(Dependency Injection, DI)而不必在XML配置文件中显式声明bean。这个注解可以应用于字段、方法或方法参数上,Spring容器会自动寻找合适的依赖并注入。例如,在提供的代码示例中,Man接口有两个实现类Chinese和American,它们都实现了sayHello()方法。
@Service注解是Spring中的一个组件注解,它属于Spring的 stereotype 注解类别,包括@Component、@Repository和@Controller。@Service通常用于业务层组件,表示一个bean。当使用@Service时,Spring会自动根据类名创建一个bean,bean的名称是类名的小写形式。如Chinese类会被实例化为"chinese",American类为"american"。如果需要自定义bean名称,可以通过@Service("你自己改的bean名")来实现。
在XML配置文件中,为了使Spring能够识别和处理这些注解,我们需要添加两行配置:
1. `<context:annotation-config/>`:这行配置启用了Spring对注解的处理,使得Spring容器能够识别并处理类上的注解,如@Autowired和@Service等。
2. `<context:component-scan base-package="testspring.main"/>`:这行配置告诉Spring在指定的包(及其子包)下查找带有@Component、@Service、@Repository和@Controller注解的类,并将它们注册为bean。
通过这样的配置,Spring容器会在启动时扫描指定包下的所有类,找到带有@Service注解的类,并根据注解自动实例化bean。同时,由于@Autowired注解的存在,Spring会自动将合适的依赖注入到需要的地方,比如如果一个类中有一个Man类型的字段,Spring会自动将Chinese或American注入,具体取决于哪种bean是默认首选或有其他策略(如类型匹配、@Qualifier注解等)。
总结来说,Spring的@Autowired和@Service注解结合XML配置中的组件扫描,极大地简化了bean的声明和依赖注入的过程,提高了开发效率。理解并熟练运用这些注解是Spring开发中不可或缺的一部分。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-09-09 上传
2010-12-23 上传
2020-10-19 上传
2019-08-09 上传
2012-01-10 上传
2020-08-29 上传
垃圾,不用了
- 粉丝: 1
- 资源: 3
最新资源
- Python-DataStructure-GFG-实践
- Starling-Extension-Particle-System:Starling框架的粒子系统,与71squared.com的“粒子设计器”兼容
- 30dayJSPractice:我将按照Wes BosJavaScript 30课程来练习Vanilla JS。 此知识库中有一些个人笔记的解决方案,可帮助我在JS上更强壮
- audiobook-player-alexa
- 新翔ASP培训学校教学管理系统
- Excel模板考场桌面标签.zip
- datepicker:显示日历,然后为彩票选择随机日期
- EPANET:供水系统液压和水质分析工具包
- MAX31855温度检测_MAX31855
- SimpleMachineLearningExp:我与机器学习的第一次互动!
- A-Recipe:Soorji ka Halwa的食谱。 享受!
- 无限跑者游戏
- DesignPattern:设计模式小Demo
- BMITaven.rar
- manga4all-ui:manga4all-ui
- InjectableGenericCameraSystem:这是一个通用的相机系统,可用作相机在游戏内拍摄屏幕截图的基础。 该系统的主要目的是通过用我们自己的值覆盖其摄像机结构中的值来劫持游戏中的3D摄像机,以便我们可以控制摄像机的位置,俯仰角值,FoV和摄像机的外观向量