基础篇——Spring之XML配置Bean的属性注入
Spring中XML文件配置Bean的简单示例,如下:
<bean id="car" class="com.smart.ditype.Car">
<property name="color">
<value>红色</value>
</property>
</bean>
注:在上述例子中,<property>标签对应的属性类型是基础数据类型,Spring容器会将它的字面值“红色”自动转化成Bean对象中属性所对应到的字符串类型,但是除了字符串、整型等这些基础数据类型外,还有Bean、List、Set、Map、Properties等类型。
注:如果所赋值内容可以被XML文件解析,如:<、&、>、“、‘等,则需要进行特殊处理方可被正确赋值,如下:
<bean id="car" class="com.smart.ditype.Car">
<property name="type">
<value><![CDATA[XX&55]]></value>
</property>
<property name="xml">
<value><:开尖括号</value>
</property>
</bean>
注:上述中Bean对象两个属性赋值分别为XX&55和<开尖括号,使用<![CDATA[文本内容]]>使得文本内容当作普通文本进行处理,<是<的转义格式,另外还有>是>的转义、&是&的转义、"是“的转义、'是‘的转义
注:<value></value>中带有空格则赋予的值将包括空格,如果想要将null赋给属性,如下:
<bean id="car" class="com.smart.ditype.Car">
<property name="color">
<null/>
</property>
</bean>
1、Bean对象中Bean属性在XML文件中的配置如下:
<bean id="car" class="com.smart.ditype.Car">
<property name="boss">
<ref bean="boss"></ref>
</property>
</bean>
<bean id="boss" class="com.smart.ditype.Boss"/>
注:如果①Bean只被②Bean引用而不被其他任何Bean引用,那么可以将①Bean以内部Bean的方式注入到②Bean,如下:
<bean id="car" class="com.smart.ditype.Car">
<property name="boss">
<bean class="com.smart.ditype.Boss">
<property name="color">
<value>红色</value>
</property>
</bean>
</property>
</bean>
2、Bean对象中集合属性在XML文件中的配置如下:
<bean id="car" class="com.smart.ditype.Car">
<property name="list">
<list>
<value>看报</value>
<value>赛车</value>
</list>
</property>
<property name="set">
<set>
<value>踢球</value>
<value>打牌</value>
</set>
</property>
<property name="map">
<map>
<entry>
<key><value>am</value></key>
<value>见客户</value>
</entry>
</map>
</property>
<property name="properties">
<props>
<prop key="mail">17896532@123.com</prop>
</props>
</property>
</bean>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧