【Spring 从0开始】IOC容器的Bean管理 - 基于XML,创建对象、注入属性
Bean 管理其实就是指spring 的2个操作:创建对象、注入属性。
创建对象在之前的文章里都有操作过,那这个注入属性也很好理解。
比如类有一个属性private String userName;
,如果我要对这个属性设值,那么这个类可以提供 set() 方法,以供调用。
而这个过程,现在也交由 spring 管理,叫做注入属性。
spring 对于 Bean 管理有两种方式:基于XML配置文件方式、基于注解方式,本篇为基于XML配置文件方式。
一、创建对象
1). 在配置文件里通过 bean 标签来创建。
2). 这里有2个属性:
- id:这个指对象的别名,通过这个名字可以获取到对象。
- class:要创建的对象所在类全路径,比如图里的
"com.pingguo.spring5.User"
。
3). 在创建对象的时候,默认执行无参构造方法。
二、注入属性
也叫 DI,依赖注入。这个需要在创建对象的基础之上来完成。
1). 使用set方法注入
有了 set 方法后,现在可以在 XML 配置文件里注入属性的值,通过 property 标签:
- name:类的属性名称
- value:要注入的值
测试一下效果,我在 Book 类里新增一个 testBook() 方法,打印出注入的 bookName 的值,然后在测试函数里调用。
运行结果:
2). 通过有参数构造注入
我直接修改了之前的示例代码,定义好类的属性,以及对应的有参构造方法后,可以在配置文件里进行注入。
使用 constructor-arg 标签:
- name:类的属性名称
- value:要注入的值
再次执行测试代码,查看结果是正确的。
3). 注入空值null
如果要给熟悉注入空值null,可以这样写:
运行后的结果:
4). 注入特殊符号
如果我要注入带有特殊符号的值,比如<<把苹果咬哭的测试笔记>>
,要使用<![CDATA[]]>
:
--不要用肉体的勤奋,去掩盖思考的懒惰--
分类:
Spring
标签:
把苹果咬哭的不规律日常
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2020-06-28 【HttpRunner v3.x】笔记 ——3. 录制生成测试用例
2020-06-28 【HttpRunner v3.x】笔记 ——2. 用脚手架快速创建项目
2020-06-28 【HttpRunner v3.x】笔记 ——1. 环境安装