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

使用spring配置文件.xml的頭文件

 更新時(shí)間:2024年01月19日 09:30:53   作者:nedjie  
這篇文章主要介紹了使用spring配置文件.xml的頭文件問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

工作有一段時(shí)間了,每次自己創(chuàng)建項(xiàng)目寫xml配置文件的時(shí)候,xml配置的頭部命名空間都是從別的項(xiàng)目拷貝過來,或者上網(wǎng)拷貝的,從來也沒考慮過是什么意思,有什么用。

最近自己練習(xí),直接創(chuàng)建Spring Leagcy Project項(xiàng)目的時(shí)候,自動(dòng)下載的配置文件總會(huì)報(bào)錯(cuò),于是借此機(jī)會(huì),深入學(xué)習(xí)一下。

關(guān)于xml命名空間

XML 命名空間 是由國際化資源標(biāo)識符 (IRI) 標(biāo)識的 XML 元素和屬性集合;該集合通常稱作 XML“詞匯”。

在XML中,元素名稱是由開發(fā)者定義的,當(dāng)兩個(gè)不同的文檔使用相同的元素名時(shí),就會(huì)發(fā)生命名沖突。

舉個(gè)簡單的栗子,命名空間很像 Java 中的包,不同的包下面可以存放相同的類名,只要在引入類時(shí)前面加上類的包就可以避免同名類的沖突。

Spring常用配置頭

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">  
    
   <!-- 定義跳轉(zhuǎn)的文件的前后綴 ,視圖模式配置-->  
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">   
        <property name="prefix" value="/WEB-INF/view/" />  
        <property name="suffix" value=".jsp" />  
    </bean>  
</beans>

配置頭解析

xmlns="http://www.springframework.org/schema/beans"

聲明xml文件默認(rèn)的命名空間,初始化beans

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

聲明XML Schema實(shí)例,聲明后就可以使用schemaLocation屬性

xmlns:context="http://www.springframework.org/schema/context"

綁定context命名空間,綁定之后便可使用<context:component-scan base-package=""/>等context為前綴的的元素。

   xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">  

schemaLocation提供了一個(gè)xml 命名空間到對應(yīng)的XSD(Xml Schema Definition)文件的一個(gè)映射,它的值由一個(gè)或多個(gè)URI引用對組成,

兩個(gè)URI之間以空白符分隔(空格和換行均可)。

第一個(gè)URI是定義的 XML命名空間的值,第二個(gè)URI給出Schema文檔的實(shí)際位置,

Schema處理器將從這個(gè)位置讀取Schema文檔,該文檔的targetNamespace必須與第一個(gè)URI(XML命名空間的值)相匹配。

在xsi:schemaLocation后面配置的字符串都是成對的,前面的是命名空間的URI,后面是xsd文件的URI;

如何找到Spring命名空間

Spring的命名空間uri和xsd文件地址在Spring的依賴中都可以找到,以spring-context為例:

在spring-context的jar包里,有META-INF文件夾,如下

在spring.handlers中保存著spring-context的命名空間,對應(yīng)xml文件頭的命名空間

在spring.schemas中保存著對應(yīng)的xsd文件uri,以及在本地對應(yīng)的文件位置

Spring中xml文件的校驗(yàn)

Spring默認(rèn)在啟動(dòng)時(shí)是要從配置的命名空間的位置加載XSD文件來驗(yàn)證xml文件的,所以如果有的時(shí)候斷網(wǎng)了,或者一些開源軟件切換域名,那么就很容易碰到應(yīng)用啟動(dòng)不了。

為了防止這種情況,Spring提供了一種機(jī)制,即默認(rèn)從本地加載XSD文件,當(dāng)本地沒有時(shí)才根據(jù)實(shí)際的URI去聯(lián)網(wǎng)獲得。

總結(jié)

現(xiàn)在對于spring配置文件的頭部有了一定的了解,以后也可以根據(jù)需求,添加對應(yīng)的命名空間,schemaLocation。

在寫schemaLocation時(shí),命名空間后面對應(yīng)的xsd文件,可以不加版本號,讓spring加載本地版本對應(yīng)的xsd文件。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java設(shè)計(jì)日歷可視化的詳細(xì)步驟記錄

    java設(shè)計(jì)日歷可視化的詳細(xì)步驟記錄

    這篇文章主要給大家介紹了關(guān)于java設(shè)計(jì)日歷可視化的相關(guān)資料,通過自定義的CircleLabel類來突出顯示今天的日期,并使用BorderLayout布局管理窗口組件,文章詳細(xì)描述了各個(gè)類和方法的設(shè)計(jì)思想和實(shí)現(xiàn)邏輯,需要的朋友可以參考下
    2024-12-12
  • Java中大量閑置MySQL連接的解決方案

    Java中大量閑置MySQL連接的解決方案

    大量閑置 MySQL 連接會(huì)直接導(dǎo)致 MySQL 連接數(shù)耗盡(Too many connections)、服務(wù)器資源(內(nèi)存/文件句柄)浪費(fèi)、數(shù)據(jù)庫響應(yīng)變慢等問題,所以本文給大家介紹了Java中大量閑置MySQL連接的解決方案,需要的朋友可以參考下
    2025-12-12
  • 排序算法圖解之Java希爾排序

    排序算法圖解之Java希爾排序

    希爾排序是希爾(Donald?Shell)于1959年提出的一種排序算法,其也是一種特殊的插入排序,即將簡單的插入排序進(jìn)行改進(jìn)后的一個(gè)更加高效的版本,也稱縮小增量排序。本文通過圖片和示例講解了希爾排序的實(shí)現(xiàn),需要的可以了解一下
    2022-11-11
  • 詳解Spring mvc的web.xml配置說明

    詳解Spring mvc的web.xml配置說明

    本篇文章主要介紹了Spring mvc的web.xml配置說明,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Java service層獲取HttpServletRequest工具類的方法

    Java service層獲取HttpServletRequest工具類的方法

    今天小編就為大家分享一篇關(guān)于Java service層獲取HttpServletRequest工具類的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • java實(shí)現(xiàn)百度云文字識別接口代碼

    java實(shí)現(xiàn)百度云文字識別接口代碼

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)百度云文字識別的接口代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • SpringBoot整合Swagger的方法示例

    SpringBoot整合Swagger的方法示例

    這篇文章主要介紹了SpringBoot整合Swagger的方法示例,詳細(xì)介紹了SpringBoot如何整合Swagger以及swagger注解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • Java異常日志堆棧丟失的原因與排查

    Java異常日志堆棧丟失的原因與排查

    這篇文章主要給大家介紹了關(guān)于Java異常日志堆棧丟失的原因與排查的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • idea復(fù)制項(xiàng)目并重命名實(shí)現(xiàn)方式(項(xiàng)目另存為)

    idea復(fù)制項(xiàng)目并重命名實(shí)現(xiàn)方式(項(xiàng)目另存為)

    本文介紹了解決在Eclipse中復(fù)制項(xiàng)目時(shí)遇到的問題的方法,通過直接復(fù)制項(xiàng)目、刪除workspace.xml文件、修改iml文件以及重新打開項(xiàng)目,成功解決了問題,文章最后鼓勵(lì)讀者參考這些方法并給予支持
    2026-04-04
  • SWT(JFace) 體驗(yàn)之FontRegistry

    SWT(JFace) 體驗(yàn)之FontRegistry

    測試代碼如下:
    2009-06-06

最新評論

东乌| 嘉义市| 梁山县| 南城县| 临邑县| 建瓯市| 江阴市| 葫芦岛市| 宜阳县| 岳阳县| 泉州市| 建阳市| 南皮县| 麟游县| 米泉市| 徐闻县| 内黄县| 汉沽区| 麻栗坡县| 巴中市| 绍兴市| 磴口县| 水城县| 于都县| 崇礼县| 札达县| 宁海县| 迁西县| 望城县| 英超| 云安县| 宜都市| 桃园县| 隆昌县| 阿拉善盟| 武胜县| 宁武县| 大足县| 于田县| 饶河县| 马鞍山市|