Spring BootでServletWebServerFactory,TomcatServletWebServerFactoryクラスを使って組み込みTomcatの設定をクラスに記述する
Spring Bootではapplication.ymlで組み込みTomcatのポート変更やコンテキストルート変更をすることができます。
これを@Configurationアノテーションを使用してクラスで設定してみます。
| 設定 | 値 |
|---|---|
| コンテキストルート | /api/v2 |
| ポート | 8085 |
package jp.co.confrage;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class TestCustomizer {
@Bean
public ServletWebServerFactory serverSettings() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory("/api/v2", 8085);
return factory;
}
}
ただし、application.ymlにも記述した場合は、ymlの設定が優先されるようです。
application.ymlでコンテキストルートを指定する例です。
server:
servlet:
context-path: /api/v1
これで、http://localhost:8080/api/v1/リソース~となります。
jarファイルではなく別のTomcatにwarファイルとしてデプロイする場合はこのクラスで設定するかTomcat側のweb.xmlなどの設定ファイルを触る必要があります。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント