Spring 配置文件之配置bean

<?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:util="http://www.springframework.org/schema/util"

   xmlns:p="http://www.springframework.org/schema/p"

   xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd

      http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.0.xsd">

  

   <!-- 配置一个 bean -->

   <bean id="helloWorld" class="com.spring.helloworld.HelloWorld">

      <!-- 为属性赋值 -->

      <propertyname="user"value="Jerry"></property>

   </bean>

  

   <!-- 配置一个 bean -->

   <bean id="helloWorld2" class="com.spring.helloworld.HelloWorld">

      <!-- 为属性赋值 -->

      <!-- 通过属性注入:通过 setter 方法注入属性值 -->

      <propertyname="user"value="Tom"></property>

   </bean>

  

   <!-- 通过构造器注入属性值 -->

   <bean id="helloWorld3" class="com.spring.helloworld.HelloWorld">

      <!-- 要求: Bean 中必须有对应的构造器. -->

      <constructor-argvalue="Mike"></constructor-arg>

   </bean>

  

   <!-- 若一个 bean有多个构造器, 如何通过构造器来为 bean 的属性赋值 -->

   <!-- 可以根据 index value 进行更加精确的定位. (了解) -->

   <bean id="car" class="com.spring.helloworld.Car">

      <constructor-argvalue="KUGA"index="1"></constructor-arg>

      <constructor-argvalue="ChangAnFord"index="0"></constructor-arg>

      <constructor-argvalue="250000"type="float"></constructor-arg>

   </bean>

  

   <bean id="car2" class="com.spring.helloworld.Car">

      <constructor-argvalue="ChangAnMazda"></constructor-arg>

      <!-- 若字面值中包含特殊字符,则可以使用 DCDATA来进行赋值. (了解) -->

      <constructor-arg>

         <value><![CDATA[<ATARZA>]]></value>

      </constructor-arg>

      <constructor-argvalue="180"type="int"></constructor-arg>

   </bean>

  

   <!-- 配置 bean -->

   <bean id="dao5" class="com.spring.ref.Dao"></bean>

 

   <bean id="service" class="com.spring.ref.Service">

      <!-- 通过ref 属性值指定当前属性指向哪一个 bean! -->

      <propertyname="dao"ref="dao5"></property>

   </bean>

  

   <!-- 声明使用内部 bean -->

   <bean id="service2" class="com.spring.ref.Service">

      <propertyname="dao">

         <!-- 内部 bean,类似于匿名内部类对象.不能被外部的 bean来引用, 也没有必要设置 id 属性 -->

         <beanclass="com.spring.ref.Dao">

            <propertyname="dataSource"value="c3p0"></property>

         </bean>

      </property>

   </bean>

  

   <bean id="action" class="com.spring.ref.Action">

      <propertyname="service"ref="service2"></property>

      <!-- 设置级联属性(了解) -->

      <propertyname="service.dao.dataSource"value="DBCP2"></property>

   </bean>

  

   <bean id="dao2" class="com.spring.ref.Dao">

      <!-- Dao dataSource属性赋值为 null,若某一个 bean 的属性值不是 null, 使用时需要为其设置为 null(了解) -->

      <propertyname="dataSource"><null/></property>

   </bean>

  

   <!-- 装配集合属性 -->

   <bean id="user" class="com.spring.helloworld.User">

      <propertyname="userName"value="Jack"></property>

      <propertyname="cars">

         <!-- 使用 list元素来装配集合属性 -->

         <list>

            <refbean="car"/>

            <refbean="car2"/>

         </list>

      </property>

   </bean>

  

   <!-- 声明单例集合类型的 bean  -->

   <util:listid="cars">

      <ref bean="car"/>

      <ref bean="car2"/>

   </util:list>

  

   <bean id="user2" class="com.spring.helloworld.User">

      <propertyname="userName"value="Rose"></property>

      <!-- 引用外部声明的 list -->

      <propertyname="cars"ref="cars"></property>

   </bean>

    <!-- 运用 P 为bean 属性赋值  -->

   <bean id="user3" class="com.spring.helloworld.User"

      p:cars-ref="cars"p:userName="Titannic"></bean>

     

   <!-- bean 的配置能够继承吗 ?使用 parent 来完成继承 --> 

   <bean id="user4" parent="user"p:userName="Bob"></bean>

  

   <bean id="user6" parent="user"p:userName="维多利亚"></bean>

  

   <!-- 测试depents-on--> 

   <bean id="user5" parent="user"p:userName="Backham"depends-on="user6"></bean>

  

</beans>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值