2012-12-21 19 views
14

Bazı Spring XML yapılandırma dosyaları üzerinde çalışıyorum ve bazen "classpath:/datasource.xml" ve bazen "classpath:datasource.xml" kullanıyorlar. İkisi arasında bir fark var mı, yoksa önde ya da ima edilen/var olan / mu?Spring XML'de "classpath:" ve "classpath: /" arasındaki fark nedir?

+0

Bu ikisi arasında hiçbir fark görmüyorum. Göreceğiniz en büyük fark, ilgili yolun ve * sınıf yolundaki konumun * olmasıdır. – muruga

+0

@muruga Aslında ben de bunu gördüm, ne anlama geliyor? – ArtB

cevap

18

Bu ikisi arasında hiçbir fark görmüyorum.
"sınıf yolu: göreceğiniz en büyük fark göreli yol ve sınıf yolu konumu Burada

üzerinde * Spring Resources bir alıntı bölüm için 4.7.2.2

Classpath * bakmak olmasıdır *: "önek ayrıca yol yolunun geri kalanında bir PathMatcher deseni ile birleştirilebilir, örneğin" classpath *: META-INF/* - beans.xml ". Bu durumda, çözümleme stratejisi oldukça basittir: ClassLoader.getResources() çağrısı, sınıf yükleyici sıradüzenindeki tüm eşleşen kaynakları almak için son joker olmayan yol segmentinde kullanılır ve ardından her bir kaynak aynı PathMatcher çözümleme stratejisini kullanır. yukarıda açıklanan joker alt yol için kullanılır.

Bu, "class path *: *. Xml" gibi bir desenin, jar dosyalarının kökünden dosyaları değil, yalnızca genişletilmiş dizinlerin kökünden alması anlamına gelir. Bu, yalnızca geçirilen boş bir dize için dosya sistemi konumlarını döndüren JDK'nın ClassLoader.getResources() yöntemindeki bir sınırlamadan kaynaklanır (arama yapmak için potansiyel kökleri belirtir).