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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント