码迷,mamicode.com
首页 > 编程语言 > 详细

Spring IOC容器中注入bean

时间:2016-08-27 20:38:07      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

一、基于schema格式的注入

1、基本的注入方式 (属性注入方式)  

根据setXxx()方法进行依赖注入,Spring只会检查是否有setter方法,是否有对应的属性不做要求

<bean id="student" class="com.lq.ioc.Student">
        <property name="name" value="zhansan"></property>
        <property name="age" value="20"></property>
</bean>
<bean id="student" class="com.lq.ioc.Student">
        <property name="name">
            <value>zhangsan</value>
        </property>
        <property name="age">
            <value>20</value>
        </property>
</bean>

2.构造函数方式注入

<bean id="student1" class="com.lq.ioc.Student">
        <constructor-arg name="name" value="zhangsan"></constructor-arg>
        <constructor-arg name="age" value="20"></constructor-arg>
</bean>
<bean id="student1" class="com.lq.ioc.Student">
        <constructor-arg type="java.lang.String"><value>lisi</value></constructor-arg>
        <constructor-arg type="int"><value>15</value></constructor-arg>
</bean>
<bean id="student1" class="com.lq.ioc.Student">
        <constructor-arg index="0" value="zhangsan"></constructor-arg>
        <constructor-arg index="1" value="21"></constructor-arg>
</bean>

3.当注入的属性中含有xml中的特殊字符时,如: < > & " ‘    

  1.用<![CDATA[<wangwu>]]>

<bean id="student1" class="com.lq.ioc.Student">
        <constructor-arg index="0">
            <value><![CDATA[<wangwu>]]></value>
        </constructor-arg>
        <constructor-arg index="1" value="21"></constructor-arg>

</bean>

  2.用转义字符

技术分享

<bean id="student1" class="com.lq.ioc.Student">
        <property name="name">
            <value>&lt;wang&gt;</value>
        </property>
        <property name="age" value="11"></property>
</bean>

 

4.引用其它bean 

<bean id="school" class="com.lq.ioc.School"/>
    <bean id="student1" class="com.lq.ioc.Student">
        <property name="name">
            <value>&lt;wang&gt;</value>
        </property>
        <property name="age" value="11"></property>
        <property name="school" ref="school"></property>

</bean>

 

5.内部bean

<bean id="student1" class="com.lq.ioc.Student">
        <property name="name">
            <value>&lt;wang&gt;</value>
        </property>
        <property name="age" value="11"></property>
        <property name="school">
            <bean id="school" class="com.lq.ioc.School"/>
        </property>
</bean>

 

6.往bean中注入null

<property name="name">
            <null/>
</property>

 

7.集合类属性

List

<bean id="school" class="com.lq.ioc.School">
        <property name="name" value="ql"/>
        <property name="student">
            <list>
                <ref bean="student1"/>
            </list>
        </property>
</bean>

 

set

<bean id="school" class="com.lq.ioc.School">
        <property name="name" value="ql"/>
        <property name="student">
            <set>
                <ref bean="student1"/>
            </set>
        </property>
</bean>

 

map

<bean id="school" class="com.lq.ioc.School">
        <property name="name" value="ql"/>
        <property name="student">
            <map>
                <entry>
                    <key><ref bean="student1"/></key>
                    <value>1</value>
                </entry>
                
            </map>
        </property>
</bean>

 

props

<bean id="school" class="com.lq.ioc.School">
        <property name="name" value="ql"/>
        <property name="student">
            <props>
                <prop key="student1">zhansa</prop>
                <prop key="student2">lisi</prop>
            </props>
        </property>
</bean>

 

8.通过util配置集合

<util:properties id="List1">
        <prop key="student1">zzz</prop>
        <prop key="student2">lisi</prop>
</util:properties>

 

9.工厂类注入

<bean id="studentFactory" class="com.lq.ioc.StudentFactory"/>
    <bean id="student" factory-bean="studentFactory" 
                         factory-method="createStudent"/>

  静态工厂类注入

<bean id="student" class="com.lq.ioc.StudentFactory" 
                         factory-method="createStudent"/>

 

10.配置数据源

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
           destroy-method="close"  
           p:driverClassName="com.mysql.jdbc.Driver"
           p:url="jdbc:mysql://localhost/sampledb"
           p:username="root"
           p:password="123"/>

 

Spring IOC容器中注入bean

标签:

原文地址:http://www.cnblogs.com/coderising/p/5813665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!