Jalur Konteks Perubahan Boot Musim Semi

1. Ikhtisar

Spring Boot, secara default, menyajikan konten di jalur konteks root ("/") .

Dan meskipun, biasanya, adalah ide yang baik untuk lebih memilih konvensi daripada konfigurasi, ada kasus ketika kita memang ingin memiliki jalur kustom.

Dalam tutorial singkat ini, kami akan membahas berbagai cara untuk mengkonfigurasinya.

2. Mengatur Properti

Sama seperti banyak opsi konfigurasi lainnya, jalur konteks di Spring Boot dapat diubah dengan menyetel properti, yaitu server.servlet.context-path .

Perhatikan bahwa ini berfungsi untuk Spring Boot 2.x.

Untuk Boot 1.x, propertinya adalah server.context-path .

Ada beberapa cara untuk menyetel properti ini, mari kita lihat satu per satu.

2.1. Menggunakan application.properties / yml

Cara paling mudah untuk mengubah jalur konteks adalah dengan menyetel properti di file application.properties / yml :

server.servlet.context-path=/baeldung

Daripada meletakkan file properti di src / main / resources , kita juga bisa menyimpannya di direktori kerja saat ini (di luar classpath).

2.2. Properti Sistem Java

Kita juga bisa menyetel jalur konteks sebagai properti sistem Java bahkan sebelum konteks diinisialisasi:

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

2.3. Variabel Lingkungan OS

Spring Boot juga dapat mengandalkan variabel lingkungan OS. Pada sistem berbasis Unix kita dapat menulis:

$ export SERVER_SERVLET_CONTEXT_PATH=/baeldung

Di Windows, perintah untuk menyetel variabel lingkungan adalah:

> set SERVER_SERVLET_CONTEXT_PATH=/baeldung

The variabel lingkungan di atas adalah untuk Spring Boot 2.xx , Jika kita memiliki 1.xx , variabel adalah SERVER_CONTEXT_PATH .

2.4. Argumen Baris Perintah

Kita juga dapat menyetel properti secara dinamis melalui argumen baris perintah:

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

3. Menggunakan Java Config

Sekarang mari kita atur jalur konteks dengan mengisi pabrik 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 instance EmbeddedServletContainerCustomizer :

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

4. Urutan Prioritas Konfigurasi

Dengan banyaknya opsi ini, kami mungkin akan memiliki lebih dari satu konfigurasi untuk properti yang sama.

Berikut urutan prioritas dalam urutan menurun, yang digunakan Spring Boot untuk memilih konfigurasi yang efektif:

  1. Konfigurasi Java
  2. Argumen Baris Perintah
  3. Properti Sistem Java
  4. Variabel Lingkungan OS
  5. application.properties di Direktori Saat Ini
  6. application.properties di classpath ( src / main / resources atau file jar yang dikemas)

5. Kesimpulan

Dalam artikel ini, kami dengan cepat membahas berbagai cara untuk menyetel jalur konteks, atau properti konfigurasi lainnya, dalam aplikasi Spring Boot.