Рубрики
Без рубрики

Путь к контексту изменения загрузки Spring

Изучите различные способы изменения пути контекста в приложении Spring Boot

Автор оригинала: baeldung.

1. Обзор

Spring Boot по умолчанию обслуживает содержимое по пути корневого контекста (“/”) .

И хотя, как правило, лучше предпочесть соглашение конфигурации, бывают случаи, когда мы действительно хотим иметь собственный путь.

В этом кратком руководстве мы рассмотрим различные способы его настройки.

2. Настройка свойства

Как и многие другие параметры конфигурации, контекстный путь в Spring Boot можно изменить, установив свойство, т. е. server.servlet.context-path .

Обратите внимание, что это работает для Spring Boot 2.x.

Для загрузки 1.x свойством является server.context-путь .

Существует несколько способов настройки этого свойства, давайте рассмотрим их один за другим.

2.1. Использование application.properties/yml

Самый простой способ изменить путь к контексту-установить свойство в файле application.properties / yml :

server.servlet.context-path=/baeldung

Вместо того , чтобы помещать файл свойств в src/main/ресурсы , мы также можем сохранить его в текущем рабочем каталоге (вне пути к классу).

2.2. Системное свойство Java

Мы также можем задать путь к контексту в качестве системного свойства Java еще до инициализации контекста:

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

2.3. Переменная окружения ОС

Spring Boot также может полагаться на переменные среды ОС. В системах на базе Unix мы можем писать:

$ export SERVER_SERVLET_CONTEXT_PATH=/baeldung

В Windows команда для установки переменной среды является:

> set SERVER_SERVLET_CONTEXT_PATH=/baeldung

Вышеуказанная переменная среды предназначена для загрузки Spring 2.x.x , Если у нас есть 1.x.x , переменная SERVER_CONTEXT_PATH .

2.4. Аргументы командной Строки

Мы также можем динамически задавать свойства с помощью аргументов командной строки:

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

3. Использование конфигурации Java

Теперь давайте установим контекстный путь, заполнив фабрику компонентов компонентом конфигурации.

С помощью Spring Boot 2 мы можем использовать Веб-сервер, настроенный на заводе :

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

С помощью Spring Boot 1 мы можем создать экземпляр EmbeddedServletContainerCustomizer :

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

4. Приоритетный порядок конфигураций

С таким количеством опций у нас может оказаться более одной конфигурации для одного и того же свойства.

Вот приоритетный порядок в порядке убывания, который Spring Boot использует для выбора эффективной конфигурации:

  1. Конфигурация Java
  2. Аргументы командной Строки
  3. Системные свойства Java
  4. Переменные среды ОС
  5. application.properties в текущем каталоге
  6. application.properties в пути к классу ( src/main/ресурсы или упакованный файл jar)

5. Заключение

В этой статье мы быстро рассмотрели различные способы настройки пути контекста или любого другого свойства конфигурации в приложении Spring Boot.