Spring

Spring Bootで組み込みWebサーバの自動起動を無効化する方法

Spring Bootでは、GradleやMavenを使って依存性にspring-boot-starter-webを追加するだけで組み込みWebサーバ(Tomcat)が自動起動するので便利です。ただ、RestTemplateのようなHTTPクライアントを利用するだけであれば、spring-boot-starter-webは必要ですが、Webサーバの起動は不要です。

そこで、Spring Bootで組み込みWebサーバの自動起動を無効化する方法をメモしておきます。

Webサーバの自動起動を無効化する方法

application.propertiesに以下を設定すればOKです。

以下のように、Spring Boot 2.0より前は、spring.main.web-application-type=noneではなく、spring.main.web-environment=falseを設定していたようです。

Spring Boot applications can now operate in more modes so spring.main.web-environment property is now deprecated in favor of spring.main.web-application-type that provides more control.

Spring Boot 2.0 Migration Guide · spring-projects/spring-boot Wiki

Spring Boot 2.1.5で試したところ、spring.main.web-application-type=noneを設定するとWebサーバの自動起動を無効化できましたが、spring.main.web-environment=falseだと無効化できませんでした。

ということで、Spring Boot 2.0以降は、spring.main.web-application-type=noneを設定するようにしましょう。

まとめ

Spring Bootで組み込みWebサーバの自動起動を無効化する方法でした。

参考リンク

-Spring

© 2024 Reasonable Code