
Spring框架@Autowired注解详解
下载需积分: 16 | 19KB |
更新于2024-09-09
| 14 浏览量 | 举报
收藏
"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开发中不可或缺的一部分。
相关推荐



















垃圾,不用了
- 粉丝: 1
最新资源
- Node.js HTTP连接代理服务器的部署与配置教程
- 以太坊智能合约开发:MiniMeToken利润分享方案
- Vsite大学门户SCAD的本地Android应用开发解析
- Vim-pony: 提升Django项目效率的Vim插件
- piggy-htmldoc: 构建HTML头部脚本的简易工具
- Android矢量绘图应用开发:vgandroid框架实践指南
- RedDetector: 自动侦测网络红色背景的浏览器扩展
- Puppeteer: Node.js库控制无头Chrome/Chromium
- PomodoroFox:提升Firefox用户专注度的Pomodoro技术插件
- Omise Android 示例应用设置与运行指南
- NativeShare插件:一站式解决移动端浏览器原生分享问题
- 互联网草案详解:WebRTC FEC、VP9打包与RTCP反馈
- 以太坊全节点扫描工具ethnodes使用教程
- 用JavaScript打造区块链:Node.js和加密技术
- React与WebRTC结合实现视频聊天和屏幕共享
- Web Stack配置脚本:负载平衡器与网络服务器的搭建
- 基于SpringBoot+LayUI的后台管理系统开源项目解析
- 深入探讨JavaScript在jpaulopinheiro.github.io的应用
- 构建移动Arcade游戏强制门户网站教程
- AD-ZaiJian: 构建广告拦截容器的简易指南
- 构建网络安全初创企业的实战代码指南
- 微软飞行模拟器B747-8i重型开源免费修改介绍
- React-propify-methods:将实例方法转换为Observable属性的工具
- Exosite Fleet API:Javascript库提供车队管理解决方案