SpringBoot-2-嵌入式容器
951
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
SpringBoot嵌入式容器摘要
支持嵌入式容器
SpringBoot默认使用Apache Tomcat作为嵌入式容器,同时支持其他容器如Eclipse Jetty和RedHat Undertow。用户可以通过修改pom.xml文件更改Tomcat版本,例如将默认的9.0.56版本升级到9.0.58。
修改端口号和Web路径
通过配置文件修改
配置文件可用application.properties或application.yml格式。两者的主要区别在于格式的层次性以及加载顺序。在同时存在时,application.properties的配置会覆盖application.yml。
示例展示了如何通过配置文件设置端口号和Web路径,例如application.yml中设置端口为8899,路径为/springweb。
通过WebServerFactoryCustomizer修改
在SpringBoot2.x中,使用WebServerFactoryCustomizer替代了SpringBoot1.x中的EmbeddedServletContainerCustomizer来修改端口号和Web路径。代码示例展示了如何通过该方法设置端口号和路径。
通过ServletWebServerFactory类优化Tomcat
通过ServletWebServerFactory类可以进一步优化Tomcat配置,例如通过重写postProcessContext方法实现自定义逻辑。SpringBoot2.x的实现方式与1.x类似,但使用了更新的类和方法。
开启HTTPS
SpringBoot支持通过application.yml文件启用HTTPS服务,但无法同时支持HTTP和HTTPS。可以通过代码配置实现HTTP请求自动重定向到HTTPS。例如,通过TomcatServletWebServerFactory和Connector类设置端口和安全约束。
容器变更
SpringBoot允许变更嵌入式容器,例如从Tomcat切换到Jetty。修改pom.xml和配置文件可以实现容器的变更。示例展示了如何将嵌入式容器切换为Jetty并通过代码设置端口号和上下文路径。
运行后,日志显示Jetty已成功启动,并可通过指定的端口和路径访问服务。
springboot葵花宝典
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
白皮书上线