Laluan Konteks Tukar Boot Musim Semi

1. Gambaran keseluruhan

Spring Boot, secara lalai, menyajikan kandungan pada jalur konteks root (“/”) .

Dan sementara, biasanya, adalah idea yang baik untuk memilih konvensyen daripada konfigurasi, ada kes-kes ketika kita ingin mempunyai jalan khusus.

Dalam tutorial ringkas ini, kita akan membahas pelbagai cara mengkonfigurasinya.

2. Menetapkan Harta

Sama seperti banyak pilihan konfigurasi lain, jalan konteks di Spring Boot dapat diubah dengan menetapkan properti, iaitu, server.servlet.context-path .

Perhatikan bahawa ini berfungsi untuk Spring Boot 2.x.

Untuk Boot 1.x, harta itu adalah server.context-path .

Terdapat pelbagai cara untuk menetapkan harta ini, mari kita lihat satu persatu.

2.1. Menggunakan application.properties / yml

Cara paling mudah untuk mengubah jalan konteks adalah dengan menetapkan harta tanah dalam file application.properties / yml :

server.servlet.context-path=/baeldung

Daripada meletakkan fail sifat di src / main / resource , kita juga dapat menyimpannya di direktori kerja semasa (di luar classpath).

2.2. Harta Sistem Java

Kami juga dapat menetapkan jalur konteks sebagai properti sistem Java bahkan sebelum konteksnya diinisialisasi:

public static void main(String[] args) { System.setProperty("server.servlet.context-path", "/baeldung"); SpringApplication.run(Application.class, args); }

2.3. Pemboleh ubah Persekitaran OS

Spring Boot juga boleh bergantung pada pemboleh ubah persekitaran OS. Pada sistem berasaskan Unix kita boleh menulis:

$ export SERVER_SERVLET_CONTEXT_PATH=/baeldung

Di Windows, perintah untuk menetapkan pemboleh ubah persekitaran adalah:

> set SERVER_SERVLET_CONTEXT_PATH=/baeldung

The variabel persekitaran di atas adalah untuk Spring Boot 2.xx , Jika kita mempunyai 1.xx , pembolehubah adalah SERVER_CONTEXT_PATH .

2.4. Hujah Arahan Perintah

Kami dapat menetapkan sifat secara dinamik melalui argumen baris perintah juga:

$ java -jar app.jar --server.servlet.context-path=/baeldung

3. Menggunakan Java Config

Sekarang mari kita tetapkan jalan konteks dengan mengisi kilang kacang dengan kacang konfigurasi.

Dengan Spring Boot 2, kita dapat menggunakan WebServerFactoryCustomizer :

@Bean public WebServerFactoryCustomizer webServerFactoryCustomizer() { return factory -> factory.setContextPath("/baeldung"); }

Dengan Spring Boot 1, kita dapat membuat contoh EmbeddedServletContainerCustomizer :

@Bean public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() { return container -> container.setContextPath("/baeldung"); }

4. Urutan Keutamaan Konfigurasi

Dengan banyak pilihan ini, kita mungkin mempunyai lebih daripada satu konfigurasi untuk harta yang sama.

Inilah urutan keutamaan dalam urutan menurun, yang Spring Boot gunakan untuk memilih konfigurasi yang berkesan:

  1. Konfigurasi Java
  2. Hujah Arahan Perintah
  3. Sifat Sistem Java
  4. Pemboleh ubah Persekitaran OS
  5. application.properties dalam Direktori Semasa
  6. application.properties di classpath ( src / main / resources atau fail jar yang dibungkus)

5. Kesimpulan

Dalam artikel ini, kami dengan cepat membahas pelbagai cara untuk menetapkan jalan konteks, atau sifat konfigurasi lain, dalam aplikasi Spring Boot.