news 2026/6/15 0:00:14

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/6/12 10:48:26

科研文献检索新方式:Kotaemon驱动学术智能体

科研文献检索新方式&#xff1a;Kotaemon驱动学术智能体 在生物医学实验室的深夜&#xff0c;一位博士生正为撰写综述焦头烂额——PubMed、arXiv、Google Scholar来回切换&#xff0c;成百上千篇论文标题滚动而过&#xff0c;关键词搜索的结果却总是似是而非。这不是个例&#…

作者头像 李华
网站建设 2026/6/15 7:51:02

47、深入探索 WinFx 与 Windows Forms 开发:数据绑定与界面设计

深入探索 WinFx 与 Windows Forms 开发:数据绑定与界面设计 1. WinFx 中的数据绑定与模板应用 在开发过程中,我们常常期望能够将客户对象集合绑定到网格或表格控件上,以实现数据的表格化展示,就像使用 DataGridView 或 DataGrid 控件那样。然而,目前 WinFx 控件套件中…

作者头像 李华
网站建设 2026/6/15 6:29:39

60、数据绑定与控件开发技术详解

数据绑定与控件开发技术详解 在软件开发领域,数据绑定和控件开发是至关重要的环节,它们能够帮助开发者更高效地处理数据和构建用户界面。下面将详细介绍数据绑定和控件开发的相关技术。 1. 数据绑定基础 1.1 简单数据绑定 简单数据绑定可通过 IList 接口来实现,也能借助…

作者头像 李华
网站建设 2026/6/12 4:10:46

Kotaemon遗产继承规则查询:法定顺序解析

Kotaemon遗产继承规则查询&#xff1a;法定顺序解析 在城市社区服务中心&#xff0c;一位中年男子拿着父亲的房产证前来咨询&#xff1a;“我父亲刚去世&#xff0c;母亲还在&#xff0c;我和妹妹该怎么分这套房子&#xff1f;”工作人员翻出《民法典》逐条查找&#xff0c;又…

作者头像 李华
网站建设 2026/6/15 5:27:55

一脸懵逼的AI面试:Agent里面的ReAct是什么?

最近有学员出去面试&#xff0c;他们面试的岗位为AI应用工程师、Agent应用工程师或者AI产品经理&#xff0c;而最近经常会遇到的一个问题是&#xff1a;什么是ReAct&#xff0c;他主要是来解决什么问题的&#xff1f;怎么说呢&#xff0c;这个问题问的太大了&#xff0c;他其实…

作者头像 李华