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

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

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

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

一 配置

<?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實(shí)例,其實(shí)現(xiàn)類(lèi)是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將指定類(lèi)的靜態(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定義一個(gè)List集合,指定使用LinkedList作為實(shí)現(xiàn)類(lèi),
   如果不指定默認(rèn)使用ArrayList作為實(shí)現(xiàn)類(lèi) -->
   <util:list id="chin.schools" list-class="java.util.LinkedList">
      <!-- 每個(gè)value、ref、bean...配置一個(gè)List元素 -->
      <value>小學(xué)</value>
      <value>中學(xué)</value>
      <value>大學(xué)</value>
   </util:list>
   <!-- 使用util:set定義一個(gè)Set集合,指定使用HashSet作為實(shí)現(xiàn)類(lèi),
   如果不指定默認(rèn)使用HashSet作為實(shí)現(xiàn)類(lèi)-->
   <util:set id="chin.axes" set-class="java.util.HashSet">
      <!-- 每個(gè)value、ref、bean...配置一個(gè)Set元素 -->
      <value>字符串</value>
      <bean class="org.crazyit.app.service.impl.SteelAxe"/>
      <ref bean="stoneAxe"/>
   </util:set>
   <!-- 使用util:map定義一個(gè)Map集合,指定使用TreeMap作為實(shí)現(xiàn)類(lèi),
   如果不指定默認(rèn)使用HashMap作為實(shí)現(xiàn)類(lèi) -->
   <util:map id="chin.scores" map-class="java.util.TreeMap">
      <entry key="數(shù)學(xué)" value="87"/>
      <entry key="英語(yǔ)" value="89"/>
      <entry key="語(yǔ)文" value="82"/>
   </util:map>
   <!-- 配置steelAxe實(shí)例,其實(shí)現(xiàn)類(lèi)是SteelAxe -->
   <bean id="steelAxe" class="org.crazyit.app.service.impl.SteelAxe"/>
   <!-- 配置stoneAxe實(shí)例,其實(shí)現(xiàn)類(lèi)是StoneAxe -->
   <bean id="stoneAxe" class="org.crazyit.app.service.impl.StoneAxe"/>
</beans>

二 接口

Axe

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

Person

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

三 實(shí)現(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;
  }
  // 實(shí)現(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 "鋼斧砍柴真快";
   }
}

四 測(cè)試類(lèi)

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實(shí)例
    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

六 運(yùn)行

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

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    python中_init_.py的作用

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

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

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

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

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

    Python Django查詢(xún)集的延遲加載特性詳解

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

    python在不同層級(jí)目錄import模塊的方法

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

最新評(píng)論

丰原市| 砚山县| 宁海县| 邢台县| 天等县| 进贤县| 连平县| 塘沽区| 盘山县| 四平市| 南充市| 中江县| 德格县| 庆阳市| 宜兰市| 阿勒泰市| 康乐县| 阜新市| 和林格尔县| 武夷山市| 平度市| 胶南市| 缙云县| 曲阳县| 潼关县| 仙桃市| 泸定县| 五大连池市| 芜湖市| 宾川县| 长丰县| 金塔县| 云霄县| 琼结县| 定陶县| 台中市| 奉贤区| 开远市| 苏尼特右旗| 阜康市| 缙云县|