Didokumentasikan di sini menyatakan
Awalan khusus ini menetapkan bahwa semua sumber daya classpath yang cocok dengan nama yang diberikan harus diperoleh (secara internal, ini pada dasarnya terjadi melalui panggilan ClassLoader.getResources (...)), dan kemudian bergabung untuk membentuk definisi konteks aplikasi akhir.
Adakah yang bisa menjelaskan hal ini?
Apa perbedaan antara menggunakan classpath*:conf/appContext.xml
sebagai lawan classpath:conf/appContext.xml
tanpa tanda bintang.
Jawaban:
DEFINISI SEDERHANA
Secara
classpath*:conf/appContext.xml
sederhana berarti bahwa semua file appContext.xml di bawahconf
folder di semua stoples Anda di classpath akan diambil dan bergabung ke dalam satu konteks aplikasi besar.Sebaliknya, hanya
classpath:conf/appContext.xml
akan memuat satu file seperti itu ... yang pertama ditemukan di classpath Anda.sumber
The
classpath*:...
sintaks berguna terutama ketika Anda ingin membangun sebuah konteks aplikasi dari beberapa file definisi kacang, menggunakan sintaks wildcard.Sebagai contoh, jika Anda membangun konteks Anda menggunakan
classpath*:appContext.xml
, classpath akan dipindai untuk setiap sumber daya yang disebutappContext.xml
dalam classpath, dan definisi kacang dari mereka semua digabungkan menjadi satu konteks.Sebaliknya,
classpath:conf/appContext.xml
akan memperoleh satu dan hanya satu file yang dipanggilappContext.xml
dari classpath. Jika ada lebih dari satu, yang lain akan diabaikan.sumber
classpath *: Ini merujuk pada daftar sumber daya dan memuat semua file yang ada di classpath dan daftar dapat kosong dan jika tidak ada file seperti itu ada di classpath maka aplikasi tidak membuang pengecualian (hanya mengabaikan kesalahan).
classpath: Ini merujuk pada sumber daya tertentu dan hanya memuat file pertama yang ditemukan di classpath dan jika tidak ada file seperti itu ada di classpath itu akan mengeluarkan pengecualian
sumber
Resource
, sebagai sumber menunjuk ke satu sumber saja pada satu waktu." ditambah saya baru saja mendapat kesalahan aneh ini, itulah sebabnya saya berakhir di sini. Jika Anda akan mengimpor sumber daya maka tidak masuk akal untuk menggunakan awalan classpath wildcard.Kode sumber Spring:
sumber