zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    subprocess 子进程模块
    3.5 魔法方法
    ThinkPHP中,display和assign用法详解
    linux常用指令
    退出当前Mysql使用的db_name 的方式
    PHP中GD库是做什么用的? PHP GD库介绍11111111
    include跟include_once 以及跟require的区别
    全局变量跟局部变量
    关于define
    创建、删除索引---高级部分
  • 原文地址:https://www.cnblogs.com/bojuetech/p/4903155.html
Copyright © 2011-2022 走看看