<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                應用上下文構造器方法的資源路徑可以是簡單的路徑(如上所示),其具有到目標資源的一對一映射,或者可以包含特殊的`classpath *`:前綴和/或內部Ant- 樣式正則表達式(使用Spring的PathMatcher實用程序進行匹配)。 后兩者都是有效的通配符. 此機制的一個用途是在執行組件式應用程序組裝時。 所有組件都可以將上下文定義片段“發布”到眾所周知的位置路徑,并且當最終應用程序上下文使用通過`classpath *`:前綴的相同路徑創建時,所有組件片段將自動被選取。 請注意,此通配符特定于在應用程序上下文構造方法的資源路徑(或直接使用`PathMatcher`工具類),并在構建時解析。 它與`Resource `類型本身無關。 無法使用統配`classpath *`:前綴來構造實際的`Resource`,因為`Resource`一次只能指向一個資源。 ## Ant-style Patterns 當路徑位置包含Ant樣式時,例如: ~~~ /WEB-INF/*-context.xml com/mycompany/**/applicationContext.xml file:C:/some/path/*-context.xml classpath:com/mycompany/**/applicationContext.xml ~~~ 處理統配路徑過程非常復雜但遵循一定規則,首先把通配符之前的路徑生產一個資源,從中獲取URL.如果URL不是`jar:`,或容器的特點變量,(如weblogic的`zip`或websphare的`wsjar`),則從中獲取`java.io.File`,并通過遍歷文件系統來解析通配符。在`jar` URL的情況下,解析器要么從中獲取`java.net.JarURLConnection`,要么手動解析`jar` URL,然后遍歷jar文件的內容來解析通配符。 ## Implications on portability 如果指定的路徑已經是文件URL(無論是顯式還是隱式,因為基本`ResourceLoader`是文件系統的一種),那么通配符將保證以完全便攜的方式工作。 如果指定的路徑是類路徑位置,則解析器必須通過`Classloader.getResource()`調用獲取最后一個非通配符路徑段URL。 因為這只是路徑的一個節點(不是最后的文件),所以它實際上是未定義的(在`ClassLoader` javadoc中),在這種情況下,究竟返回了什么樣的URL。 實際上,它總是一個表示目錄的`java.io.File`,類路徑資源解析為文件系統位置,或者某種類型的jar URL,其中classpath資源解析為jar位置。 但是,這個操作仍然存在可移植性問題。 如果為最后一個非通配符段獲取了一個jar URL,解析器必須能夠從中獲取一個`java.net.JarURLConnection`,或者手動解析該jar URL,以便能夠遍歷該jar的內容,并解析 通配符。 這可以在大多數環境中使用,但在其他環境中會失敗,強烈建議您在依賴特定環境之前徹底測試來自jars的資源的通配符解決方案。 ## he classpath*: prefix 在構建基于XML的應用程序上下文時,位置字符串可能會使用特殊的類路徑*:前綴: ~~~ ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath*:conf/appContext.xml"); ~~~ 此特殊前綴指定必須獲取與給定名稱匹配的所有類路徑資源(內部實質上這是通過`ClassLoader.getResources(...)`調用發生的),然后進行合并以形成最終的應用程序上下文定義。 通配符類路徑依賴于底層類加載器的`getResources()`方法。 由于現在大多數應用程序服務器都提供它們自己的類加載器實現,所以在處理jar文件時行為可能會有所不同。 檢查`classpath *`是否工作的簡單測試是使用classloader從classpath中的jar中加載文件:`getClass().getClassLoader().getResources(“<someFileInsideTheJar>”)`。 使用具有相同名稱但位于兩個不同位置的文件進行此測試。 如果返回的結果不正確,請檢查應用程序服務器文檔以了解可能影響類加載器行為的設置。 `classpath *`:前綴也可以與其他位置路徑中的`PathMatcher`模式組合使用,例如`classpath *:META-INF / * - beans.xml`。 在這種情況下,解決策略非常簡單:在最后一個非通配符路徑段上使用`ClassLoader.getResources()`調用來獲取類加載器層次結構中的所有匹配資源,然后再如上所述遍歷資源文件. ## Other notes relating to wildcards 請注意,除非實際目標文件駐留在文件系統中,否則`classpath *`:與Ant樣式模式結合使用時,必須在模式啟動之前至少有一個根目錄可靠地運行。 這意味著`classpath*:*.xml`這樣的模式可能不會從jar文件的根文件中檢索文件,而只能從擴展目錄的根文件中檢索文件。 Spring檢索類路徑條目的能力來源于JDK的`ClassLoader.getResources()`方法,該方法傳入空字符串時返回文件系統位置(指示要搜索的潛在根)。 Spring會評估`URLClassLoader`運行時配置和jar文件中的“`java.class.path”`清單,但這并不保證會導致可移植行為。 使用`classpath:`的Ant樣式模式:如果類路徑中多個根包,則無法保證找到匹配的資源。 這是因為資源如下 ~~~ com/mycompany/package1/service-context.xml ~~~ 可能只在一個位置,但是當一條路徑如 ~~~ classpath:com/mycompany/**/service-context.xml ~~~ 嘗試處理,首先`getResource("com/mycompany")`如果此包節點存在于多個類加載程序位置中,但選中的一個可能實際的最終資源可能不在其下。因此使用`classpath*:`搜選所有的根包,才能保證找到資源.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看