当前位置: 首页 > news >正文

spring--xml注入时bean的property属性

1.前言

        大家对于下面的代码肯定不陌生

public class MyBean {public String value;public void setValue(String value) {this.value= value;}
}
//----------------------xml--------------------
<bean id="myBean" class="com.example.MyBean"><property name="value" value="Hello"/> 
</bean>

        这段代码表示 Spring 框架中通过 XML 配置文件进行依赖注入

2.关于name

 那么 <property name="value" value="Hello"/> 中name的值,代表的是要注入属性名是value的值么?

        答案是并不是,大家观察下面的代码,我把value注释掉了

public class MyBean {//public String value;public void setValue(String value) {System.out.print(value);}
}
//----------------------xml--------------------
<bean id="myBean" class="com.example.MyBean"><property name="value" value="Hello"/> 
</bean>

程序依然可以打印"Hello",这个问题涉及到 Spring 的核心机制 - 基于 setter 的依赖注入不是直接操作字段,而是调用 setter 方法

Spring 的处理流程

  • 解析 <property name="value" value="Hello"/> 

  • 将属性名[name的值value]转换为方法名:set + 首字母大写的属性名 → setValue

  • 在目标类及其父类中查找 setValue() 方法

  • 找到 MyBean.setValue(value)

  • 调用该方法并传入 value

最后Spring 要求 setter 方法必须符合 setXxx(Type value) 的格式

http://www.dtcms.com/a/277099.html

相关文章:

  • 20250713-`Seaborn.pairplot` 的使用注意事项
  • jenkins部署前端vue项目使用Docker+Jenkinsfile方式
  • 【PTA数据结构 | C语言版】字符串插入操作
  • java.net.InetAddress
  • 学习笔记-Excel统计分析——描述统计量的计算
  • SpringBoot单元测试类拿不到bean报空指针异常
  • 算法 - 蛇形矩阵-上三角
  • 2.3 单链表的应用
  • 图像读取与模型保存--基于NWPU-RESISC45数据集的图像二分类实战
  • stm32f103c8t6移植freeRTOS内存不足报错问题的解决办法
  • 浏览器渲染原理与性能优化全解析
  • 快速傅里叶变换(FFT)中的振幅和相位
  • 【计算机网络架构】环型架构简介
  • 在 C# 中调用 Python 脚本:实现跨语言功能集成
  • ADB 调试日志全攻略:如何开启与关闭 `ADB_TRACE` 日志
  • CS课程项目设计1:交互友好的井字棋游戏
  • 详解Linux下多进程与多线程通信(二)
  • 【QT】使用QSS进行界面美化
  • 异或为什么叫异或
  • 【读书笔记】《Effective Modern C++》第3章 Moving to Modern C++
  • Datawhale AI夏令营——基于带货视频评论的用户洞察挑战赛
  • 【PTA数据结构 | C语言版】简单计算器
  • 17.使用DenseNet网络进行Fashion-Mnist分类
  • LabVIEW调用外部DLL
  • 深度学习图像分类数据集—七种树叶识别分类
  • 零基础 “入坑” Java--- 十、继承
  • ARC 03 从Github Action job 到 runner pod
  • PPO(近端策略优化)
  • 华为HarmonyOS 5.0深度解析:跨设备算力池技术白皮书(2025全场景智慧中枢)
  • 【C++】list及其模拟实现