最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring實戰(zhàn)之使用util:命名空間簡化配置操作示例

 更新時間:2019年12月09日 11:37:08   作者:cakincqm  
這篇文章主要介紹了Spring實戰(zhàn)之使用util:命名空間簡化配置操作,結(jié)合實例形式分析了Spring使用util:命名空間簡化配置操作的具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下

本文實例講述了Spring使用util:命名空間簡化配置操作。分享給大家供大家參考,具體如下:

一 配置

<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的根元素和Schema
   導(dǎo)入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實例,其實現(xiàn)類是Chinese -->
   <bean id="chinese" 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將指定類的靜態(tài)Field定義成容器中的Bean -->
   <util:constant id="chin.age" static-field=
      "java.sql.Connection.TRANSACTION_SERIALIZABLE"/>
   <!-- 使用util.properties加載指定資源文件 -->
   <util:properties id="confTest"
      location="classpath:test_zh_CN.properties"/>
   <!-- 使用util:list定義一個List集合,指定使用LinkedList作為實現(xiàn)類,
   如果不指定默認使用ArrayList作為實現(xiàn)類 -->
   <util:list id="chin.schools" list-class="java.util.LinkedList">
      <!-- 每個value、ref、bean...配置一個List元素 -->
      <value>小學(xué)</value>
      <value>中學(xué)</value>
      <value>大學(xué)</value>
   </util:list>
   <!-- 使用util:set定義一個Set集合,指定使用HashSet作為實現(xiàn)類,
   如果不指定默認使用HashSet作為實現(xiàn)類-->
   <util:set id="chin.axes" 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作為實現(xiàn)類,
   如果不指定默認使用HashMap作為實現(xiàn)類 -->
   <util:map id="chin.scores" map-class="java.util.TreeMap">
      <entry key="數(shù)學(xué)" value="87"/>
      <entry key="英語" value="89"/>
      <entry key="語文" value="82"/>
   </util:map>
   <!-- 配置steelAxe實例,其實現(xiàn)類是SteelAxe -->
   <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/>
   <!-- 配置stoneAxe實例,其實現(xiàn)類是StoneAxe -->
   <bean id="stoneAxe" 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();
}

三 實現(xiàn)

Chinese

package org.crazyit.app.service.impl;
import java.util.*;
import org.crazyit.app.service.*;
public class Chinese implements Person
{
  private Axe axe;
  private int age;
  private List schools;
  private Map scores;
  private Set axes;
  // axe的setter方法
  public void setAxe(Axe axe)
  {
    this.axe = axe;
  }
  // age的setter方法
  public void setAge(int age)
  {
    this.age = age;
  }
  // schools的setter方法
  public void setSchools(List schools)
  {
    this.schools = schools;
  }
  // scores的setter方法
  public void setScores(Map scores)
  {
    this.scores = scores;
  }
  // axes的setter方法
  public void setAxes(Set axes)
  {
    this.axes = axes;
  }
  // 實現(xiàn)Person接口的useAxe()方法
  public void useAxe()
  {
    System.out.println(axe.chop());
    System.out.println("age屬性值:" + age);
    System.out.println(schools);
    System.out.println(scores);
    System.out.println(axes);
  }
}

StoneAxe

package org.crazyit.app.service.impl;
import org.crazyit.app.service.*;
public class StoneAxe implements Axe
{
   public String chop()
   {
      return "石斧砍柴好慢";
   }
}

SteelAxe

package org.crazyit.app.service.impl;
import org.crazyit.app.service.*;
public class SteelAxe implements Axe
{
   public String chop()
   {
      return "鋼斧砍柴真快";
   }
}

四 測試類

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
import org.crazyit.app.service.*;
public class BeanTest
{
  public static void main(String[] args)
  {
    // 創(chuàng)建Spring容器
    ApplicationContext ctx = new
      ClassPathXmlApplicationContext("beans.xml");
    // 獲取chinese實例
    Person p = ctx.getBean("chinese" , Person.class);
    // 調(diào)用useAxe()方法
    p.useAxe();
    System.out.println(ctx.getBean("confTest"));
  }
}

五 資源文件

a=\u8f7b\u91cf\u7ea7Java EE\u4f01\u4e1a\u5e94\u7528\u5b9e\u6218
b=\u75af\u72c2Java\u8bb2\u4e49

六 運行

石斧砍柴好慢
age屬性值:8
[小學(xué), 中學(xué), 大學(xué)]
{數(shù)學(xué)=87, 英語=89, 語文=82}
[字符串, org.crazyit.app.service.impl.SteelAxe@eec5a4a,  org.crazyit.app.service.impl.StoneAxe@2b2948e2]
{b=瘋狂Java講義, a=輕量級Java EE企業(yè)應(yīng)用實戰(zhàn)}

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Spring框架入門與進階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • 使用Flink與Python進行實時數(shù)據(jù)處理的基本步驟

    使用Flink與Python進行實時數(shù)據(jù)處理的基本步驟

    Apache Flink是一個流處理框架,用于實時處理和分析數(shù)據(jù)流,PyFlink是Apache Flink的Python API,它允許用戶使用Python語言來編寫Flink作業(yè),進行實時數(shù)據(jù)處理,以下是如何使用Flink與Python進行實時數(shù)據(jù)處理的基本步驟,需要的朋友可以參考下
    2024-09-09
  • 高性能web服務(wù)器框架Tornado簡單實現(xiàn)restful接口及開發(fā)實例

    高性能web服務(wù)器框架Tornado簡單實現(xiàn)restful接口及開發(fā)實例

    Tornado和現(xiàn)在的主流Web服務(wù)器框架(包括大多數(shù)Python的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當快。得利于其 非阻塞的方式和對epoll的運用,Tornado每秒可以處理數(shù)以千計的連接,這意味著對于實時Web服務(wù)來說,Tornado是一個理想的Web框架。
    2014-07-07
  • 自學(xué)python用什么系統(tǒng)好

    自學(xué)python用什么系統(tǒng)好

    在本篇文章里小編給大家整理了一篇關(guān)于學(xué)python用什么系統(tǒng)好的相關(guān)文章,有興趣的朋友們可以學(xué)習下。
    2020-06-06
  • Python代碼統(tǒng)計耗時的方法詳解

    Python代碼統(tǒng)計耗時的方法詳解

    在現(xiàn)代軟件開發(fā)中,性能優(yōu)化是一個至關(guān)重要的環(huán)節(jié),無論是開發(fā)大型系統(tǒng)還是小型工具,開發(fā)者都需要對代碼的執(zhí)行時間進行精確測量,以便找出瓶頸并優(yōu)化性能,本文給大家介紹了Python代碼統(tǒng)計耗時的方法,需要的朋友可以參考下
    2025-02-02
  • python字符串連接的N種方式總結(jié)

    python字符串連接的N種方式總結(jié)

    python中有很多字符串連接方式,今天在寫代碼,順便總結(jié)一下,從最原始的字符串連接方式到字符串列表連接,大家感受下
    2014-09-09
  • python中_init_.py的作用

    python中_init_.py的作用

    __init__.py的作用是告訴Python這是一個包,并且可以包含初始化操作、控制子模塊導(dǎo)入、設(shè)置包級別變量和函數(shù)等,本文就來詳細的介紹一下_init_.py的作用,感興趣的可以了解一下
    2025-01-01
  • python url 參數(shù)修改方法

    python url 參數(shù)修改方法

    今天小編就為大家分享一篇python url 參數(shù)修改方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式

    python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式

    這篇文章主要介紹了python3用PyPDF2解析pdf文件,用正則匹配數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python Django查詢集的延遲加載特性詳解

    Python Django查詢集的延遲加載特性詳解

    在 Django 的開發(fā)過程中,查詢集(QuerySet)是我們與數(shù)據(jù)庫進行交互的重要工具,本文將深入探討 Django 查詢集的延遲加載特性,幫助新手理解其工作原理及優(yōu)缺點,提供一些實用的代碼示例來展示延遲加載如何在實際項目中使用,需要的朋友可以參考下
    2024-10-10
  • python在不同層級目錄import模塊的方法

    python在不同層級目錄import模塊的方法

    這篇文章主要介紹了python 在不同層級目錄import 模塊的方法,需要的朋友可以參考下
    2016-01-01

最新評論

贺兰县| 阿坝县| 塔城市| 射洪县| 建始县| 兰西县| 奉节县| 秦皇岛市| 阿克陶县| 繁昌县| 峨眉山市| 岳阳县| 务川| 宜章县| 南开区| 屏南县| 北辰区| 汾西县| 淮滨县| 城步| 日土县| 万荣县| 南康市| 唐山市| 工布江达县| 安阳县| 施甸县| 邵武市| 七台河市| 蒙自县| 龙江县| 东丽区| 永平县| 平安县| 寻甸| 五指山市| 玉门市| 德令哈市| 古丈县| 长寿区| 汤原县|