当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Spring实战之使用util:命名空间简化配置操作示例

    栏目:Linux/apache问题 时间:2019-12-10 10:12

    本文实例讲述了Spring使用util:命名空间简化配置操作。分享给大家供大家参考,具体如下:

    一 配置

    <?xml version="1.0" encoding="GBK"?>
    <!-- 指定Spring配置文件的根元素和Schema
       导入p:命名空间和util:命名空间的元素 -->
    <beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
       http://www.springframework.org/schema/util
       http://www.springframework.org/schema/util/spring-util-4.0.xsd">
       <!-- 配置chinese实例,其实现类是Chinese -->
       <bean  class="org.crazyit.app.service.impl.Chinese"
          p:age-ref="chin.age" p:axe-ref="stoneAxe"
          p:schools-ref="chin.schools"
          p:axes-ref="chin.axes"
          p:scores-ref="chin.scores"/>
       <!-- 使用util:constant将指定类的静态Field定义成容器中的Bean -->
       <util:constant  static-field=
          "java.sql.Connection.TRANSACTION_SERIALIZABLE"/>
       <!-- 使用util.properties加载指定资源文件 -->
       <util:properties 
          location="classpath:test_zh_CN.properties"/>
       <!-- 使用util:list定义一个List集合,指定使用LinkedList作为实现类,
       如果不指定默认使用ArrayList作为实现类 -->
       <util:list  list-class="java.util.LinkedList">
          <!-- 每个value、ref、bean...配置一个List元素 -->
          <value>小学</value>
          <value>中学</value>
          <value>大学</value>
       </util:list>
       <!-- 使用util:set定义一个Set集合,指定使用HashSet作为实现类,
       如果不指定默认使用HashSet作为实现类-->
       <util:set  set-class="java.util.HashSet">
          <!-- 每个value、ref、bean...配置一个Set元素 -->
          <value>字符串</value>
          <bean class="org.crazyit.app.service.impl.SteelAxe"/>
          <ref bean="stoneAxe"/>
       </util:set>
       <!-- 使用util:map定义一个Map集合,指定使用TreeMap作为实现类,
       如果不指定默认使用HashMap作为实现类 -->
       <util:map  map-class="java.util.TreeMap">
          <entry key="数学" value="87"/>
          <entry key="英语" value="89"/>
          <entry key="语文" value="82"/>
       </util:map>
       <!-- 配置steelAxe实例,其实现类是SteelAxe -->
       <bean  class="org.crazyit.app.service.impl.SteelAxe"/>
       <!-- 配置stoneAxe实例,其实现类是StoneAxe -->
       <bean  class="org.crazyit.app.service.impl.StoneAxe"/>
    </beans>
    
    

    二 接口

    Axe

    package org.crazyit.app.service;
    public interface Axe
    {
       // Axe接口里有个砍的方法
       public String chop();
    }
    
    

    Person

    package org.crazyit.app.service;
    public interface Person
    {
       // 定义一个使用斧子的方法
       public void useAxe();
    }
    
    

    三 实现

    Chinese