Rumah > Java > javaTutorial > Bagaimanakah SpringBoot memuatkan berbilang fail konfigurasi untuk bertukar antara persekitaran pembangun dan produk?

Bagaimanakah SpringBoot memuatkan berbilang fail konfigurasi untuk bertukar antara persekitaran pembangun dan produk?

王林
Lepaskan: 2023-05-12 23:58:16
ke hadapan
1815 orang telah melayarinya

1. Penukaran berbilang persekitaran dalam SpringBoot

Dalam SpringBoot, sebagai tambahan kepada application.properties, nama fail fail konfigurasi lain yang kami cipta perlu memenuhi format application-{profile}.properties, di mana {profile} sepadan dengan pengecam persekitaran anda (tidak semestinya fail .properties, ia juga boleh menjadi .yml) dan nilai {profile} yang sepadan disesuaikan oleh pembangun (seperti dev, produk, anda hanya perlu untuk menambah parameter yang sepadan, springboot Fail konfigurasi akan dibaca. Konfigurasi profil khusus ditetapkan dalam fail application.properties melalui atribut spring.profiles.active. Seterusnya, kami menggunakan contoh untuk menggambarkan

(1) Pertama, lima fail konfigurasi dev, produk, qa, peringkat dan aplikasi lalai dibuat di sini

Bagaimanakah SpringBoot memuatkan berbilang fail konfigurasi untuk bertukar antara persekitaran pembangun dan produk?

(2) Apabila memuatkan fail konfigurasi, fail konfigurasi application.properties akan dimuatkan dahulu (beberapa konfigurasi awam biasanya disimpan di sini), dan fail konfigurasi persekitaran yang akan dimuatkan dikonfigurasikan dalam fail ini kaedah di sini.

Sebagai contoh, untuk memuatkan persekitaran dev, anda boleh mengkonfigurasi

spring.profiles.active=dev
Salin selepas log masuk

dalam application.properties seperti ini atau gunakan @spring.profiles.active@ seperti yang ditunjukkan di bawah

spring.profiles.active=@spring.profiles.active@
Salin selepas log masuk

Jika anda menggunakan ini Dengan cara ini, anda perlu menambah kandungan berikut pada pom.xml, di mana teg activeByDefault menentukan fail konfigurasi yang dimuatkan secara lalai apabila projek bermula.

<profiles>
  <profile>
    <id>dev</id>
    <activation>
      <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
      <spring.profiles.active>dev</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>qa</id>
    <properties>
      <spring.profiles.active>qa</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>stage</id>
    <properties>
      <spring.profiles.active>stage</spring.profiles.active>
    </properties>
  </profile>
  <profile>
    <id>product</id>
    <properties>
      <spring.profiles.active>product</spring.profiles.active>
    </properties>
  </profile>
</profiles>
Salin selepas log masuk

Apabila perintah mvn clean package -P dev dilaksanakan untuk membungkus dan menerbitkan projek, @spring.profiles.active@ dalam fail konfigurasi dalam pakej jar/war akan digantikan dengan dev.

Perhatikan bahawa @spring.profiles.active@ mestilah konsisten dengan teg <spring.profiles.active></spring.profiles.active>> jika tidak, ralat akan dilaporkan.

Bagaimanakah SpringBoot memuatkan berbilang fail konfigurasi untuk bertukar antara persekitaran pembangun dan produk?

2. Susunan pemuatan fail konfigurasi dalam SpringBoot

Pengisihan keutamaan fail konfigurasi (berdasarkan fail konfigurasi yang Tepat):

1. Direktori konfigurasi di bawah direktori akar projek. [Keutamaan tertinggi]
2. Direktori akar projek.
3. Direktori konfigurasi di bawah classpath.
4. Direktori Classpath (lokasi lalai application.properties semasa membuat projek baharu). [Keutamaan terendah]

Susunan pemuatan fail konfigurasi adalah bertentangan dengan susunan keutamaan yang lebih rendah dimuatkan dahulu, kerana jika terdapat konfigurasi pendua, fail konfigurasi yang dimuatkan dahulu akan ditimpa.

Dalam direktori tahap yang sama, jika fail konfigurasi application.yml dan application.properties wujud pada masa yang sama, fail konfigurasi application.properties akan diguna pakai, iaitu, fail .yml dimuatkan dahulu dan kemudian fail .properties.

Bagaimanakah SpringBoot memuatkan berbilang fail konfigurasi untuk bertukar antara persekitaran pembangun dan produk?

Pesanan keutamaan: 1->2->3->4->5.

Perintah memuatkan fail: 5->4->3->2->1.

Atas ialah kandungan terperinci Bagaimanakah SpringBoot memuatkan berbilang fail konfigurasi untuk bertukar antara persekitaran pembangun dan produk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan