构建和部署 Spring Boot 应用程序

您可以构建 Spring Boot 应用程序,以便在具有 Maven 或 Gradle的 CICS® 中使用。

将 Spring Boot 应用程序构建为 WAR 或 JAR 文件

您可以将 Spring Boot 应用程序构建为 Web 应用程序归档 (WAR) 或 Java™ 归档 (JAR) 文件。 如果要在 CICS中集成 Spring Framework 事务管理或 Spring Boot 安全性,请将 Spring 引导应用程序构建为 WAR。 请参阅 表 1。 构建为 WAR 时,可以使用 CICS 束以与其他 CICS Liberty 应用程序相同的方式部署和管理 Spring Boot 应用程序。 构建为 JAR 时,必须安装 springBoot-1.5 或 springBoot-2.0 功能部件,并且必须使用带有 type="spring" 属性的 Liberty 应用程序元素或使用 dropins 目录来部署 JAR。 但是,如果您有一个仅希望部署到 CICS 而不使用 CICS 集成的现有应用程序,那么可以将其打包为 JAR。 一次只能将一个 JAR 文件部署到 Liberty JVM 服务器中,但可以共同托管多个 WAR 文件。

表 1. Spring Boot 集成
功能 Spring Boot 应用程序内置:
WAR JAR
CICS JCICS API
指向 Spring Bean 的CICS 链接
Java 持久性 API (Java Persistence API , JPA) False
与 CICS的 Spring 安全性集成 False
与 CICS的 Spring 事务集成 False
Java 数据库连接 (JDBC) False
线程技术和并行 False
Java 消息服务(JMS) False

下图显示了在 CICS上运行 Spring Boot 应用程序时可以使用的不同选项。

在 CICS上运行 Spring Boot 应用程序时可以采用的不同选项。

构建 WAR 的其他注释

在构建之前,必须将 Spring Boot 应用程序的打包类型设置为可部署的 WAR。 您的主要应用程序类必须扩展 SpringBootServletInitializer 并覆盖configure方法。 您还必须在构建脚本中声明 Spring Boot 嵌入式Web容器(通常是Tomcat)为提供的依赖项,以便在运行时将其替换为Liberty的Web容器。 在此示例中,提供了 main 方法,以便应用程序也可以构建为独立 JAR (如果需要)。
@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer 
{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
    {
        return application.sources(MyApplication.class);
    }

    public static void main(String[] args) 
    {
        SpringApplication.run(MyApplication.class, args);
    }
}

有关使用 Gradle 或 Maven 创建可部署 WAR 文件的详细信息,请参阅 Spring Boot 文档中的 创建可部署 WAR 文件

有关使用 Maven 和 Gradle构建应用程序的更多信息,请参阅 使用 Maven 或 Gradle