Spring Boot 编程模型支持

Liberty 支持 Spring Boot 应用程序编程模型来开发 Spring 应用程序。

Open Liberty 有关将 Spring Boot 应用程序部署到 Liberty的最新信息,请参阅 Open Liberty Web 站点

背景

Spring Boot 的设计旨在使您尽快入门并投入使用。 有关更多信息,请参阅 Spring Boot 项目站点

典型的 Spring Boot 应用程序是独立的 JAR 文件,它无需部署到应用程序服务器即可运行。 这个独立文件可以简化 Spring Boot 应用程序的开发。 但是,将该应用程序部署到生产环境时,无法利用应用程序服务器的优势。

Spring Boot 应用程序 JAR 文件格式是 Liberty中受支持的应用程序类型。 您可以将 Spring Boot 应用程序部署到 Liberty ,而不将它们打包为 WAR 文件。 Liberty 提供了用于优化 Spring Boot 应用程序到容器 (例如 Docker) 的部署的工具。

注意: 对 Spring Boot 的 Liberty 支持通过使用 Liberty Java 或 Jakarta Servlet 以及 Java 或 Jakarta Server Pages 功能部件与对 Web 容器的支持集成在一起。 如果需要 HTTPS 或 WebSocket 支持,可以启用运输安全或 WebSocket 功能。 所有其他服务器配置都由 Spring Boot 应用程序属性来处理。 有关这些功能部件的可用版本的更多信息,请参阅 Liberty 功能部件

例如,可以使用 spring.security.* 应用程序属性来设置安全性属性。 Liberty Spring Boot 功能部件不与其他 Liberty 功能部件 (例如, Application Security 和 Jakarta RESTful Web Services (以前称为 JAX-RS)) 提供的功能集成。 如果应用程序需要与这些 Liberty 功能部件提供的功能类似的功能,那么 Spring Boot 项目将提供可以包含在应用程序中的 Spring Boot 入门模板。 在应用程序中包含 Spring Boot 入门模板 (例如 spring-boot-starter-security ) 或第三方入门模板 (例如 cxf-spring-boot-starter-jaxrs ) 允许它使用入门模板提供的技术,而不是使用 Liberty 功能部件。

Spring Boot 入门模板

表 1. Spring Boot 支持
Spring Boot 入门模板 Liberty 功能部件 Liberty Liberty Core
Spring Boot 1.5
弹簧启动器 springBoot-1.5
弹簧启动器网络 springBoot-1.5servlet-3.1servlet-4.0jsp-2.3
spring-boot-starter-websocket springBoot-1.5websocket-1.0websocket-1.1
Spring Boot 2.0
弹簧启动器 springBoot-2.0
弹簧启动器网络 springBoot-2.0servlet-3.1servlet-4.0jsp-2.3
spring-boot-starter-websocket springBoot-2.0websocket-1.0websocket-1.1
spring-boot-starter-web通量 springBoot-2.0servlet-3.1servlet-4.0jsp-2.3

Spring Boot 3.0

弹簧启动器 springBoot-3.0
弹簧启动器网络 springBoot-3.0servlet-6.0servlet-6.1jsp-2.3
spring-boot-starter-websocket springBoot-3.0websocket-2.0
Spring-boot-starter-webflux springBoot-3.0servlet-6.0servlet-6.1jsp-2.3

除列出的入门模板以外,Spring Boot 应用程序还有其他 Spring Boot 入门模板。 应用程序中包含的更多入门模板不需要您启用更多 Liberty 功能部件。