Spring 框架三大核心概念与 XML 配置入门(下)
接上文3.在容器中可以注入的类型1.字面量可以使用字符串表示的值可以通过 value 属性或 value 子节点的方式指定基本数据类型及其封装类、String 等类型都可以采取字面值注入的方式2.null值设置property 属性的子节点为null/bean ids5 classcom.helloworld.bean.Student property namestudentId value1001/ property namestuName null/ /property property nameage value20/ /bean3.内部 bean当 bean 实例仅仅给一个特定的属性使用时可以将其声明为内部 bean。内部bean 声明直接包含在property或constructor-arg元素里不需要设置任何 id 或 name 属性,内部 bean 不能使用在任何其他地方。内部 bean 不能使用在任何其他地方。bean idCustomerBean classcom.common.Customer property nameperson bean classcom.common.Person property namename valuehello / property nameaddress valueaddress1 / property nameage value28 / /bean /property /bean4.外部bean可以使用 ref 属性来引用已经定义的bean对象bean idCustomerBean classcom.common.Customer property nameperson refPersonBean / /bean bean idPersonBean classcom.common.Person property namename valuehello / property nameaddress valueaddress1 / property nameage value28 / /bean5.List注入配置 java.util.List 类型的属性需要指定list标签在标签里包含一些元素。这些标签可以通过value指定简单的常量值通过ref指定对其他 Bean 的引用。通过bean 指定内置 bean 定义。通过null/指定空元素。甚至可以内嵌其他集合。public class Customer { private ListString list; private ListPerson persons; } public class Person{ private String name; private String address; private int age; //忽略get和set构造方法 } bean idcc classcom.spring.bean.Customer property name list !-- 以字面量为值的 List 集合 -- list value张三/value value李四/value /list /property property name persons list ref beanp1/ ref beanp2/ /list /property /bean bean idp1 classcom.common.Person property namename valuehello / property nameaddress valueaddress1 / property nameage value28 / /bean bean idp2 classcom.common.Person property namename valuehello / property nameaddress valueaddress1 / property nameage value28 / /bean6.Map注入Java.util.Map 通过map标签定义map标签里可以使用多个entry作为子标签。每个条目包含一个键和一个值。必须在key标签里定义键。因为键和值的类型没有限制所以可以自由地为它们指定value、ref、bean或null/元素。public class Customer { private MapString,Person map; } public class Person{ private String name; private String address; private int age; //忽略get和set构造方法 } bean idcc classcom.spring.bean.Customer property name map map entry key valueperson1/value /key ref beanp1/ /entry entry key valueperson2/value /key ref beanp2/ /entry /map /property /bean bean idp1 classcom.common.Person property namename valuehello / property nameaddress valueaddress1 / property nameage value28 / /bean bean idp2 classcom.common.Person property namename valuehello / property nameaddress valueaddress1 / property nameage value28 / /bean4.通过容器获取 bean1.通过name 值获取//1.创建IOC容器对象 ApplicationContext iocContainer new ClassPathXmlApplicationContext(配置文件路径); //2.根据id值获取bean实例对象 Student student (Student) iocContainer.getBean(配置文件实例对象的name);2.通过类型获取 bean//1.创建IOC容器对象 ApplicationContext iocContainer new ClassPathXmlApplicationContext(配置文件路径); //2.根据id值获取bean实例对象 Student student (Student) iocContainer.getBean(Student.class);3.通过类型和name获取 bean//1.创建IOC容器对象 ApplicationContext iocContainer new ClassPathXmlApplicationContext(配置文件路径); //2.根据id值获取bean实例对象 Student student (Student) iocContainer.getBean(name值,Student.class);5.容器的配置和关系1.配置信息的继承bean iddept classcom.parent.bean.Department property namedeptId value100/ property namedeptName valueIT/ /bean bean idemp01 classcom.parent.bean.Employee property nameempId value1001/ property nameempName valueTom/ property nameage value20/ !-- 重复的属性值 -- property namedept refdept/ /bean bean idemp02 classcom.parent.bean.Employee property nameempId value1002/ property nameempName valueJerry/ property nameage value25/ !-- 重复的属性值 -- property namedept refdept/ /bean经过继承后可以简化相同的配置信息bean iddept classcom.parent.bean.Department property namedeptId value100/ property namedeptName valueIT/ /bean bean idemp01 classcom.parent.bean.Employee property nameempId value1001/ property nameempName valueTom/ property nameage value20/ !-- 重复的属性值 -- property namedept refdept/ /bean !-- 以emp01作为父bean继承后可以省略公共属性值的配置 -- bean idemp02 parentemp01 property nameempId value1002/ property nameempName valueJerry/ property nameage value25/ /bean2.bean 之间的依赖有的时候创建一个 bean 的时候需要保证另外一个 bean 也被创建这时我们称前面的 bean 对后面的 bean 有依赖。例如要求创建 Employee 对象的时候必须创建 Department。这里需要注意的是依赖关系不等于引用关系Employee 即使依赖 Department 也可以不引用它。bean idemp03 classcom.parent.bean.Employee depends-ondept property nameempId value1003/ property nameempName valueKate/ property nameage value21/ /bean3.bean 的作用域在 Spring 中可以在bean元素的 scope 属性里设置 bean 的作用域以决定这个 bean 是单实例的还是多实例的。默认情况下Spring 只为每个在 IOC 容器里声明的 bean 创建唯一一个实例整个 IOC 容器范围内都能共享该实例所有后续的 getBean()调用和 bean 引用都将返回这个唯一的 bean 实例。该作用域被称为 singleton它是所有 bean 的默认作用域。

相关新闻

SAP平行分类账配置与月结避坑指南:从原理到SPRO实操

SAP平行分类账配置与月结避坑指南:从原理到SPRO实操

简介:SAP FI 平行分类账(Parallel Accounting)配置与操作手册以 Word 文档形式呈现,面向 SAP FI 实施顾问、财务模块运维人员及正在学习新总账多分类账场景的学员。文档围绕多会计准则账务处理展开,从业务说明、分类账…

2026/10/14 13:58:04 阅读更多 →
LeNet论文精读与复现:卷积神经网络入门经典

LeNet论文精读与复现:卷积神经网络入门经典

1. 为什么现在还要回头啃LeNet这篇老论文如果你最近在翻卷积神经网络的基础资料,大概率会反复撞见一个名字——LeNet。它不像ResNet、Transformer那样自带流量,甚至很多刚入门的同学会觉得它“太简单了,没什么可看的”。但我自己的体会恰恰相…

2026/10/14 13:58:04 阅读更多 →
NPI流程图实战:四阶段三扇门,从试产到量产的核心管控指南

NPI流程图实战:四阶段三扇门,从试产到量产的核心管控指南

简介:这是一份聚焦新产品开发与导入全流程的流程图,涵盖从产品概念立项、项目可行性评估到规格书、原理图与外观设计、关键元件采购、原型机制作、模具评审、试产验证与问题点记录、改善措施直至生产及质量控制的完整链条。整套资源以1个PDF文件呈现&…

2026/10/14 13:57:04 阅读更多 →

最新新闻

嵌入式面试必问:UART、I2C、SPI串行协议全解析

嵌入式面试必问:UART、I2C、SPI串行协议全解析

1. 三剑客全景概览:为什么面试官总爱问这些做嵌入式开发的,面试时几乎绕不开这三个协议:UART、I2C、SPI。我在技术社区分享过不少招聘面经,发现面试官考串行协议并不是为了刁难人,而是这三兄弟确实是板级通信的基石——…

2026/10/14 16:49:00 阅读更多 →
Raw Accel FAQ 实战指南:从 InterAccel 迁移、反作弊安全机制与驱动持久化行为解析

Raw Accel FAQ 实战指南:从 InterAccel 迁移、反作弊安全机制与驱动持久化行为解析

驱动开发系统编程 【免费下载链接】rawaccel kernel mode mouse accel 项目地址: https://gitcode.com/gh_mirrors/ra/rawaccel 点击查看 免费下载 本篇基于 rawaccel 仓库的官方 FAQ(doc/FAQ.md)展开,系统回答 Raw Accel 用户最…

2026/10/14 16:49:00 阅读更多 →
博途SCL编码器圈数与单圈脉冲计算算法详解

博途SCL编码器圈数与单圈脉冲计算算法详解

1. 项目背景与核心需求拆解在工业自动化现场,编码器就像设备的“眼睛”,它把机械轴的旋转角度、速度、位移这些物理量,转换成PLC能读懂的脉冲信号。但问题来了——PLC读到的永远只是一串脉冲数,而操作人员关心的是“转了多少圈”“…

2026/10/14 16:49:00 阅读更多 →
基于 SpringBoot + Vue3 的会议室预约管理系统设计与实现

基于 SpringBoot + Vue3 的会议室预约管理系统设计与实现

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 1. 项目背景与需求分析 随着企业规模的扩大和办公模式的多样化,会议室资源的管理日益复杂。传统的人工登记、电话协调方式存在信息不透明、预约冲突频发、资…

2026/10/14 16:49:00 阅读更多 →
后台开发面试真题解析:高并发与容灾能力实战

后台开发面试真题解析:高并发与容灾能力实战

1. 这不是一场“面经复述”,而是一次后台开发能力的现场压力测试2020年夏天,我接到天美工作室群的面试邀约时,心里其实没底。不是因为技术储备不足,而是因为此前接触的后台开发面试,大多聚焦在八股文背诵、算法题速刷和…

2026/10/14 16:49:00 阅读更多 →
Embedding预测:重构图像生成的动态条件建模

Embedding预测:重构图像生成的动态条件建模

1. 这不是“加个Embedding”那么简单:为什么预测Embedding正在重构图像生成的底层逻辑你最近刷论文或技术社区时,大概率见过这个标题:“Embedding Prediction Helps Image Generation”。初看像一句废话——生成图像当然要用embedding&#x…

2026/10/14 16:47:59 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →