Spring属性注入

超、凢脫俗 2023-08-17 17:41 207阅读 0赞

对于类成员变量,注入方式有三种:

  • 构造函数注入
  • 属性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}:使用静态字段或方法

  1. <bean>
  2. <property name="name" value="#{服装}"/>
  3. </bean>
  4. <bean id="productInfo" class=""/>
  5. <bean>
  6. <property name="name"/>
  7. <property name="price" value="#{productInfo.calculatePrice()}">
  8. <property name="category" value="#{category}"/>
  9. </bean>

  

复杂类型的属性注入

1.数组类型的属性注入

2.List集合类型的属性注入

3.Set集合类型的属性注入

4.Map集合类型的属性注入

  1. <!--集合类型的属性注入-->
  2. <bean id="collectionBean" class="">
  3. <!--数组类型-->
  4. <property name="arrs">
  5. <list>
  6. <value>aaa</value>
  7. <value>bbb</value>
  8. <value>ccc</value>
  9. </list>
  10. </property>
  11. <!--List集合的属性注入-->
  12. <property name="list">
  13. <list>
  14. <value>111</value>
  15. <value>222</value>
  16. <value>333</value>
  17. </list>
  18. </property>
  19. <!--Map集合的属性注入-->
  20. <property name="map">
  21. <map>
  22. <entry key="aaa" value="111"/>
  23. <entry key="bbb" value="222"/>
  24. <entry key="ccc" value="333"/>
  25. </map>
  26. </property>
  27. <!--Properties的属性注入-->
  28. <property name="properties">
  29. <props>
  30. <prop key="username">root</prop>
  31. <prop key="password">1234</prop>
  32. </props>
  33. </property>
  34. </bean>

  

转载于:https://www.cnblogs.com/yangHS/p/11384408.html

发表评论

表情:
评论列表 (有 0 条评论,207人围观)

还没有评论,来说两句吧...

相关阅读