Spring支持3种依赖注入的方式 (DI依赖注入)
*属性注入 (配置bean set方法注入)

<bean id="car" class="spring.beans.di.Car">
<property name="brand" value="AuDi"></property>
<property name="crop" value="ShangHai"></property>
<property name="price" value="400000"></property>
<property name="maxSpeed" value="240"></property>
</bean>

*构造器注入 (配置bean 通过构造器的方法给对象的属性注入值)

<bean id="car1" class="spring.beans.di.Car">
<constructor-arg value="bmw" index="" type="java.lang.String"></constructor-arg>
<constructor-arg value="DG" index=""></constructor-arg>
<constructor-arg value="50000" index="" type="double"></constructor-arg>
</bean>

*Bean与Bean引用关系 ( 配置Bean 通过 ref )

<bean id="person" class="spring.beans.di.Person">
<property name="name" value="贾1"></property>
<property name="age" value="20"></property>
<property name="car" ref="car1"></property>
</bean>

*内部的Bean的使用

<bean id="person1" class="spring.beans.di.Person">
<property name="name" value="贾2"></property>
<property name="age" value="30"></property>
<property name="car">
<bean class="spring.beans.di.Car">
<property name="brand" value="DasAuto"></property>
<property name="crop" value="ShanHan"></property>
<property name="price" value="300000"></property>
<property name="maxSpeed" value="300"></property>
</bean>
</property>
</bean>

<!-- null值与级联属性的赋值-->

<bean id="person2" class="spring.beans.di.Person">
<property name="name" value="贾3"></property>
<property name="age" value="40"></property>
<!-- <property name="car"><null /></property> -->
<property name="car" ref="car1"></property>
<!-- 级联属性赋值的时候,当前级联的对象必须是存在的. -->
<property name="car.maxSpeed" value="250"></property> </bean>

*List集合属性的注入

<bean id="personList" class="spring.beans.di.collections.PersonList">
<property name="name" value="xxxx"></property>
<property name="age" value="25"></property>
<property name="cars">
<list>
<ref bean="car1"/>
<ref bean="car2"/>
<bean class="spring.beans.di.Car">
<property name="brand" value="AuDi"></property>
<property name="crop" value="ShangHai"></property>
<property name="price" value="400000"></property>
<property name="maxSpeed" value="240"></property>
</bean>
</list>
</property>
</bean>

*Map集合属性注入值

<bean id="personMap" class="spring.beans.di.collections.PersonMap">
<property name="name" value="jjjjj"></property>
<property name="age" value="29"></property>
<property name="cars">
<map>
<entry key="AA" value-ref="car1"></entry>
<entry key="BB" value-ref="car2"></entry>
</map>
</property>
</bean>

*给Properties类型的属性注入值 (数据源)

<bean id="dataSource" class="spring.beans.di.collections.DataSource">
<property name="properties">
<props>
<prop key="user">root</prop>
<prop key="password">1234</prop>
<prop key="url">jbdc:mysql://localhost:3306/test</prop>
<prop key="driverClass">com.mysql.jbdc.Driver</prop>
</props>
</property>
</bean>

备注:
1. <![CDATA[ 什么内容都可以写,并且只是返回的是字符串的格式 ]]>

最新文章

  1. java中readLine()方法为什么有的行读不到?
  2. Flex Layout Attribute
  3. SharePoint Style Library的权限问题
  4. Spark程序使用groupByKey后数据存入HBase出现重复的现象
  5. jquery——滚动条插件jscroll.js
  6. soapui中文操作手册(四)----MOCK服务
  7. ThinkPHP 模板截取字符串 【转载】
  8. PHP 多个文件上传
  9. Grid_Oracle Grid Infrastructure概念介绍(概念)
  10. Leetcode#115 Distinct Subsequences
  11. 剑指 offer set 3 旋转数组的最小数字
  12. Servlet &amp; JSP - Listener
  13. centos6.6 install
  14. Windows Phone开发(30):图形
  15. 苹果ATS特性服务器证书配置指南
  16. 日常API之百度翻译
  17. 理解spread运算符与rest参数
  18. 使用jQuery制作一个简易的购物车结算流程
  19. jenkins集成python时出现&quot;Non-ASCII character &#39;\xe6&#39; in file&quot;错误解决方法
  20. (1)Python基础

热门文章

  1. python自带的IDLE编译器,听说大神都用这个(附python下载安装教程)
  2. 使用Java调用exe可执行文件
  3. [py2neo]Ubuntu14 安装py2neo失败问题解决
  4. JavaScript如何友好的操作的cookie
  5. 「Usaco2008 Jan」人工湖O(∩_∩)O 纯属的模拟+栈
  6. 总结:一些使用private 构造方法的类
  7. python手册学习笔记2
  8. webpack 打包优化的四种方法(多进程打包,多进程压缩,资源 CDN,动态 polyfill)
  9. Docker学习-VMware Workstation 本地多台虚拟机互通,主机网络互通,解决name or service not known
  10. 手把手教你用netty撸一个ZkClient