Seperti yang dinyatakan sebelum ini, fail application.properties tidak dikonfigurasikan Sekarang saya mencipta fail application.properties dalam folder utama/sumber dan tulis Konfigurasi berikut
Kemudian, mulakan projek,
Baiklah, melalui tangkapan skrin hasil permulaan di atas, anda boleh melihat perkhidmatan Dimulakan pada port "9090". Kemudian jika anda mengkonfigurasi fail application.yml dalam direktori ini,
hasil permulaan adalah seperti berikut,
OK Anda boleh melihat bahawa perkhidmatan masih dimulakan pada port "9090". Atas sebab ini, kami membuat kesimpulan ini: Jika terdapat dua fail application.properties dan application.yml dalam folder yang sama, maka fail application.properties akan menimpa fail application.yml dan fail application.properties akan berkuat kuasa.
Apakah itu fail yml
yml ialah format fail yang ditulis dalam YAML (YAML Aint Markup Language), yang merupakan cara yang sangat intuitif untuk mensiri data. Ia adalah format fail baharu, serupa dengan fail XML dan sifat.
Rakan-rakan yang melihat tajuk ini pasti akan berkata, bolehkah application.properties berada di laluan lain? . Kami meletakkan application.properties/.yml dalam folder utama/sumber Apabila projek sedang berjalan, fail dalam folder ini akan disalin ke folder kelas, jadi laluan ini juga dipanggil classpath.
Cari "application.properties" dalam kod sumber springboot dan cari kelas seperti ConfigFileApplicationListener Terdapat perenggan berikut dalam ulasan kelas ini
* {@link EnvironmentPostProcessor} that configures the context environment by loading * properties from well known file locations. By default properties will be loaded from * 'application.properties' and/or 'application.yml' files in the following locations: * <ul> * <li>file:./config/</li> * <li>file:./config/{@literal *}/</li> * <li>file:./</li> * <li>classpath:config/</li> * <li>classpath:</li> * </ul>
Ia biasanya bermaksud "EnvironmentPostProcessor lulus. Muatkan sifat daripada laluan fail yang terkenal untuk mengkonfigurasi konteks Sifat lalai datang daripada fail application.properties/application.yml, yang datang daripada laluan ",
file:./config/ root folder ( fail projek). Direktori konfigurasi
fail:./config/{@literal *}/ di bawah folder fail akar (folder projek)
fail:./
classpath:config/ di bawah folder fail root (folder projek) config/
classpath di bawah classpath:
di bawah classpath Okay, kita sudah tahu fail properties/application.yml dimuatkan dari lokasi di atas, dan sumber utama/sumber yang kami konfigurasikan sebenarnya adalah laluan kelas di atas:, jadi adakah laluan di atas juga mengikut urutan? dapat melihat bahawa DEFAULT_SEARCH_LOCATIONS menentukan nilai di atas, dan ulasan di atas sangat menarik, tetapi saya tidak menterjemahkannya dengan baik, mari kita sahkan melalui contoh. Sekarang setelah kita mengetahui keutamaan application.properties dan application.yml, kita hanya boleh menggunakan fail application.properties untuk mengesahkannya Terdapat application.properties di bawah sumber/config (laluan berjalan: classpath:/config/),
Lihat port mana yang sedang digunakan sekarang,
menggunakan 9092, yang bermaksud keutamaan sumber/config Greater daripada sumber, iaitu classpath:/config/>classpath:/. Mari lihat fail:/
Kami mencipta fail application.properties baharu di bawah laluan akar projek. Port permulaan ialah 9093. Mari lihat port mana yang digunakan oleh perkhidmatan itu. Sekarang saya menambah laluan config/my/ ke laluan projek dan menambah fail application.properties,
Keputusan ujian adalah seperti berikut,
Perkhidmatan dimulakan pada port "9094", menunjukkan bahawa keutamaan ialah: file:./config/*/>file:./>classpath:/>classpath:/config/, dan pengesahan terakhir point ialah fail :/config, saya rasa ini tidak perlu disahkan dan mesti mempunyai keutamaan tertinggi Oleh itu, urutan keutamaan dari tinggi ke rendah ialah: file:./config/ > >fail:./ > classpath:/ > classpath:/config/, dalam istilah orang awam: config di bawah laluan akar projek>config/*/ di bawah laluan akar projek>classpath:/config> :/
Atas ialah kandungan terperinci Apakah laluan pemuatan lalai springboot?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!