spring第一课,beans配置(上)

1.通过property配置bean

 1         <!-- 配置一个 bean -->
 2     <bean id="helloWorld" class="com.atguigu.spring.helloworld.HelloWorld">
 3         <!-- 为属性赋值 -->
 4         <property name="user" value="Jerry"></property>
 5     </bean>
 6     
 7     <!-- 配置一个 bean -->
 8     <bean id="helloWorld2" class="com.atguigu.spring.helloworld.HelloWorld">
 9         <!-- 为属性赋值 -->
10         <!-- 通过属性注入: 通过 setter 方法注入属性值 -->
11         <property name="user" value="Tom"></property>
12     </bean>
1     <!-- 配置 bean -->
2     <bean id="dao5" class="com.atguigu.spring.ref.Dao"></bean>
3 
4     <bean id="service" class="com.atguigu.spring.ref.Service">
5         <!-- 通过 ref 属性值指定当前属性指向哪一个 bean! -->
6         <property name="dao" ref="dao5"></property>
7     </bean>

2.通过property配置内部bean

1         <!-- 声明使用内部 bean -->
2     <bean id="service2" class="com.atguigu.spring.ref.Service">
3         <property name="dao">
4             <!-- 内部 bean, 类似于匿名内部类对象. 不能被外部的 bean 来引用, 也没有必要设置 id 属性 -->
5             <bean class="com.atguigu.spring.ref.Dao">
6                 <property name="dataSource" value="c3p0"></property>
7             </bean>
8         </property>
9     </bean>

3.通过构造器配置bean

 1     <!-- 若一个 bean 有多个构造器, 如何通过构造器来为 bean 的属性赋值 -->
 2     <!-- 可以根据 index 和 value 进行更加精确的定位. (了解) -->
 3     <bean id="car" class="com.atguigu.spring.helloworld.Car">
 4         <constructor-arg value="KUGA" index="1"></constructor-arg>
 5         <constructor-arg value="ChangAnFord" index="0"></constructor-arg>
 6         <constructor-arg value="250000" type="float"></constructor-arg>
 7     </bean>
 8     
 9     <bean id="car2" class="com.atguigu.spring.helloworld.Car">
10         <constructor-arg value="ChangAnMazda"></constructor-arg>
11         <!-- 若字面值中包含特殊字符, 则可以使用 DCDATA 来进行赋值. (了解) -->
12         <constructor-arg>
13             <value><![CDATA[<ATARZA>]]></value>
14         </constructor-arg>
15         <constructor-arg value="180" type="int"></constructor-arg>
16     </bean>

4.装配集合属性

    <!-- 装配集合属性 -->
    <bean id="user" class="com.atguigu.spring.helloworld.User">
        <property name="userName" value="Jack"></property>
        <property name="cars">
            <!-- 使用 list 元素来装配集合属性 -->
            <list>
                <ref bean="car"/>
                <ref bean="car2"/>
            </list>
        </property>
    </bean>
    
    <!-- 声明集合类型的 bean -->
    <util:list id="cars">
        <ref bean="car"/>
        <ref bean="car2"/>
    </util:list>
    
    <bean id="user2" class="com.atguigu.spring.helloworld.User">
        <property name="userName" value="Rose"></property>
        <!-- 引用外部声明的 list -->
        <property name="cars" ref="cars"></property>
    </bean>

(注:集合属性还可以是配置map集合,也可以是配置props,操作类似,各位可以自行研究。)

5如果想为属性设置null值,可以如下操作

    <bean id="dao2" class="com.atguigu.spring.ref.Dao">
        <!-- 为 Dao 的 dataSource 属性赋值为 null, 若某一个 bean 的属性值不是 null, 使用时需要为其设置为 null(了解) -->
        <property name="dataSource"><null/></property>
    </bean>

6.可以使用p命名空间进行配置bean操作

1     <bean id="user3" class="com.atguigu.spring.helloworld.User"
2         p:cars-ref="cars" p:userName="Titannic"></bean>
原文地址:https://www.cnblogs.com/bojuetech/p/4903155.html