Spring属性注入
对于类成员变量,注入方式有三种:
- 构造函数注入
- 属性setter方法注入
- 接口注入
Spring支持前两种
构造函数注入
属性注入
属性setter方法注入
p名称**空**间
- 使用p命名空间
- 为了简化XML文件配置,Spring从2.5开始引入一个新的p名称空间
- p:<属性名> = “xxx”引入常量值
- p:<属性名> - ref=”xxx”引用其他Bean对象
在命名空间中添加
xmlns=”http://www.springframework.org/schema/p“
SpEL注入
- SpEL:spring expression language ,spring表达式语言,对依赖注入进行简化
- 语法:#{表达式}
SpEL表达式语言
语法:#{}
#{‘hello’}:使用字符串
#{beanId}:使用另一个bean
#{beanId.content.toUpperCase()}:使用指定名属性,并调用它的方法
#{T(java.lang.Math).PI}:使用静态字段或方法
<bean>
<property name="name" value="#{服装}"/>
</bean>
<bean id="productInfo" class=""/>
<bean>
<property name="name"/>
<property name="price" value="#{productInfo.calculatePrice()}">
<property name="category" value="#{category}"/>
</bean>
复杂类型的属性注入
1.数组类型的属性注入
2.List集合类型的属性注入
3.Set集合类型的属性注入
4.Map集合类型的属性注入
<!--集合类型的属性注入-->
<bean id="collectionBean" class="">
<!--数组类型-->
<property name="arrs">
<list>
<value>aaa</value>
<value>bbb</value>
<value>ccc</value>
</list>
</property>
<!--List集合的属性注入-->
<property name="list">
<list>
<value>111</value>
<value>222</value>
<value>333</value>
</list>
</property>
<!--Map集合的属性注入-->
<property name="map">
<map>
<entry key="aaa" value="111"/>
<entry key="bbb" value="222"/>
<entry key="ccc" value="333"/>
</map>
</property>
<!--Properties的属性注入-->
<property name="properties">
<props>
<prop key="username">root</prop>
<prop key="password">1234</prop>
</props>
</property>
</bean>
转载于//www.cnblogs.com/yangHS/p/11384408.html
还没有评论,来说两句吧...