news 2026/8/29 1:11:06

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/28 11:43:18

超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计

好的&#xff0c;基于您提供的随机种子 1766016000072 和详细要求&#xff0c;我将为您创作一篇兼具深度与新颖性的技术文章。本文将聚焦于损失函数的“动态”与“自定义”层面&#xff0c;超越常见的分类与回归介绍&#xff0c;探讨其在复杂优化场景下的核心作用。 # 超越MSE与…

作者头像 李华
网站建设 2026/8/27 7:35:35

45、WinFx UI编程与功能概述

WinFx UI编程与功能概述 1. WinFx简介 WinFx为Windows用户界面应用程序的开发带来了许多新概念和新方法。它在针对显示设备和图形渲染方面采用了全新的方式,引入了多种编程UI元素的新途径,还提供了一种用于指定UI应用程序的声明性语言。 1.1 突破基于像素的编程模型 当前…

作者头像 李华
网站建设 2026/8/28 6:48:33

10、SQL 解析器与 Flex 规范详解

SQL 解析器与 Flex 规范详解 1. SQL 解析器代码与 Makefile 首先,我们来看 SQL 解析器的主函数代码: main(int ac, char **av) {extern FILE *yyin;if(ac > 1 && !strcmp(av[1], "-d")) {yydebug = 1; ac--; av++;}if(ac > 1 && (yyin =…

作者头像 李华
网站建设 2026/8/26 22:17:18

一文带你看懂 AI Agent 智能体

摘要 人工智能领域正经历着一场从“生成式AI”向“代理式AI”&#xff08;Agentic AI&#xff09;的历史性范式转移。如果说2022年至2023年是大语言模型&#xff08;LLM&#xff09;展现其惊人知识储备与推理能力的“静态展示期”&#xff0c;那么2024年及其后则标志着智能体&…

作者头像 李华
网站建设 2026/8/27 19:10:23

Kotaemon开源了!一键部署生产级智能问答服务

Kotaemon开源了&#xff01;一键部署生产级智能问答服务 在企业AI落地的浪潮中&#xff0c;一个令人兴奋的消息传来&#xff1a;Kotaemon 正式开源。这不仅是一个新的RAG框架发布&#xff0c;更标志着智能问答系统从“能用”迈向“可靠可用”的关键转折。 过去几年&#xff0…

作者头像 李华
网站建设 2026/8/27 18:24:36

EditPlus v6.1 Build 780 烈火汉化版

软件简介 EditPlus是一个Windows下的文本编辑器&#xff0c;它的功能比较强大&#xff0c;可以用于编写源代码、HTML、PHP、JavaScript等等。 采用多标签式界面&#xff0c;可以同时编辑多个文件。 它还有一些其他的功能&#xff0c;比如文件压缩、FTP功能、搜索和替换功能等…

作者头像 李华