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:
- Konfigurasi Java
- Hujah Arahan Perintah
- Sifat Sistem Java
- Pemboleh ubah Persekitaran OS
- application.properties dalam Direktori Semasa
- 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.