zoukankan      html  css  js  c++  java
  • bean的注入方式

    1)通过set方法注入

      

    <bean id="person1" class="com.example.bean.Person">
        <property name="name" value="测试"/>
        <property name="age" value="20"/>
        <property name="testList">
          <list>
            <value>value_list_1</value>
            <value>value_list_2</value>
            <value>value_list_3</value>
          </list>
        </property>
        <property name="testArray">
          <array>
            <value>array_value1</value>
            <value>array_value2</value>
            <value>array_value3</value>
          </array>
        </property>
      <property name="testList1">
        <null/>
      </property> </bean>

    2)通过构造方法注入(通过该方法注入时,可以使用name属性或者index来表示参数,index代表的是在有参构造器中的参数的位置,name表示的是参数的名称)

      <bean id="person2" class="com.example.bean.Person">
        <constructor-arg index="0" value="lisi"/>
        <constructor-arg index="1" value="20"/>
        <constructor-arg index="2">
          <list>
            <value>value_list_1</value>
            <value>value_list_2</value>
            <value>value_list_3</value>
          </list>
        </constructor-arg>
        <constructor-arg index="3">
          <array>
            <value>array_value1</value>
            <value>array_value2</value>
            <value>array_value3</value>
          </array>
        </constructor-arg>
      </bean>

    3)通过p标签注入

    <!-- 将car对象配置到容器中 -->
    <bean name="car" class="cn.example.bean.Car" >
        <property name="name" value="兰博基尼" ></property>
        <property name="color" value="黄色" ></property>
    </bean>
    <!-- p名称空间注入, 走set方法
        1.导入P名称空间  xmlns:p="http://www.springframework.org/schema/p"
        2.使用p:属性完成注入
            |-值类型: p:属性名="值"
            |-对象类型: p:属性名-ref="bean名称"
     -->
        <bean  name="user3" class="cn.example.bean.User" p:name="jack" p:age="20" p:car-ref="car"  >
        </bean>

     注:

      注入null值

        bean注入的时候可以注入空值,只需要在<property>标签中使用<null/>

    <bean id="person1" class="com.example.bean.Person">
        <property name="name">
            <null/>
        </property>
    </bean>

      注入的属性值包括特殊符号

        例如:注入<<测试>>

        1、将<>进行转义&lt; &gt;

    <bean id="person1" class="com.example.bean.Person">
        <property name="name" value=&lt;&lt;测试&gt;&gt;/>
    </bean>

        2、将内容添加到CDATA中

    <bean id="person1" class="com.example.bean.Person">
        <property name="name">
            <value><![CDATA[<<测试>>]]></value>
        </property>
    </bean>

    4)外部bean注入

     name属性:类中的属性的名称,ref属性:创建的对象的bean标签的id值

     

    <bean id="userService" class="com.example.service.UserService>
        <property name="userDao" ref="userDaoImpl"/>
    </bean>
    <bean id="userDaoImpl" class="com.example.dao.impl.UserDaoImpl></bean>

    5)内部bean注入

     

    <bean id="emp" class="com.example.bean.Emp">
        <property name="ename" value="测试"/>
        <!--设置对象类型属性-->
        <property name="dept">
           <bean id="dept" class="com.example.bean.Dept>
              <property name="dname" value="HR部门"></property>    
           </bean>                 
        </property>
    </bean>
        

    6)级联赋值

    第一种写法

    <bean id="emp" class="com.example.bean.Emp">
        <property name="ename" value="测试"></property>
        <!--级联赋值-->
        <property name="dept" ref="dept"></property>
    </bean>
    <bean id="dept" class="com.example.bean.Dept">
        <property name="dname" value="HR部门"></property>
    </bean>

    第二种写法,必须生成该类中需要级联赋值的对象的getter方法

    <bean id="emp" class="com.example.bean.Emp">
        <property name="ename" value="测试"></property>
        <!--级联赋值-->
        <property name="dept" ref="dept"></property>
        <property name="dept.name" value="技术部"></property>
    </bean>
    <bean id="dept" class="com.example.bean.Dept">
        <property name="dname" value="HR部门"></property>
    </bean>
  • 相关阅读:
    ubuntu安装到选择位置时闪退
    linux下复制一个文件的内容到另一个文件
    ssh免密码登陆
    使用pymongo需要手动关闭MongoDB Connection吗?
    关于支付宝和微信使用的浏览器
    使用poi导出固定excel的模板,出现汉字不能自动设置行宽
    使用poi进行数据的导出Demo
    遍历map集合的方法
    用来遍历map集合的方法
    Idea中用来遍历list集合的快捷键
  • 原文地址:https://www.cnblogs.com/xing-29391/p/15041038.html
Copyright © 2011-2022 走看看