spring之IOC详解二

spring之IOC详解二

1.注入不同类型的值

  (1)基本类型

      使用value属性

  (2)对象类型

      使用ref属性

  (3)集合类型

      1)List

      <list>
          <value>

      </list>

      2)Set

      <set>

          <value>

      </set>

      3)Map

       <map>

           <entry key="" value=""/>

       </map>       

     4)Properties

            <props>

                <prop key="">xxxx</prop>

            </props>

        注:

            也可以将集合当做一个bean来配置。

            <util:list>,<util:set>,<util:map>,<util:properties>

        一个特殊用法:

            <util:properties id="" location="classpath:config.properties"/>

代码示例:

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context" 
	xmlns:jdbc="http://www.springframework.org/schema/jdbc"  
	xmlns:jee="http://www.springframework.org/schema/jee" 
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop" 
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:util="http://www.springframework.org/schema/util"
	xmlns:jpa="http://www.springframework.org/schema/data/jpa"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
		http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd
		http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
		http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd
		http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
		http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd">
	<bean id="eb" 
	class="container.value.ExampleBean">
		<property name="name" value="东东 "/>
		<property name="age" value="22"/>
		<property name="interest">
			<!-- 注入list -->
			<list>
				<value>snooker</value>
				<value>football</value>
				<value>fishing</value>
				<value>fishing</value>
			</list>
		</property>
		<property name="cities">
			<!-- 注入set -->
			<set>
				<value>北京</value>
				<value>上海</value>
				<value>深圳</value>
				<value>深圳</value>
			</set>
		</property>
		<property name="score">
			<!-- 注入map -->
			<map>
				<entry key="english" value="59.5"/>
				<entry key="math" value="120"/>
			</map>
		</property>
		<property name="db">
			<!-- 注入properties -->
			<props>
				<prop key="username">Tom</prop>
				<prop key="pwd">1234</prop>
			</props>
		</property>
	</bean>
	<!-- 命名空间
			是为了区分同名的元素而添加的一个前缀。
	 -->
	<!-- 将集合当作一个bean来配置 -->
	<util:list id="interestBean">
		<value>snooker</value>
		<value>football</value>
		<value>fishing</value>
	</util:list>
	<util:set id="citiesBean">
		<value>北京</value>
		<value>上海</value>
		<value>深圳</value>
	</util:set>
	<util:map id="scoreBean">
		<entry key="english" value="90"/>
		<entry key="math" value="120"/>
	</util:map>
	<util:properties id="dbBean">
		<prop key="username">John</prop>
		<prop key="pwd">1234</prop>
	</util:properties>
	<bean id="eb2" 
	class="container.value.ExampleBean">
		<property name="interest" 
		ref="interestBean"/>
		<property name="cities"
		ref="citiesBean"/>
		<property name="score"
		ref="scoreBean"/>
		<property name="db" 
		ref="dbBean"/>
	</bean>
	
	<!-- 读取location属性指定的
	文件的内容,并将这些内容添加到
	Properties对象。
	 -->
	<util:properties id="jdbc" 
	location="classpath:container/value/config.properties"/>
	
	<!-- 使用spring表达式来注入 -->
	<bean id="someBean" 
	class="container.value.SomeBean">
		<property name="name" 
		value="#{eb.name}"/>
		<property name="interest"
		value="#{eb.interest[1]}"/>
		<property name="score"
		value="#{eb.score.math}"/>
		<property name="pageSize"
		value="#{jdbc.pagesize}"/>
	</bean>
	
	
	
</beans>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值