Spring 引导部署策略

Spring Boot Deployment Strategy

正在使用 Spring Boot 实现 swagger 2。使用依赖项-

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>

效果很好。但是想要在生产中以这样的方式实施招摇 大摇大摆不会被部署。还有可能以不同于在不同主机上构建应用程序的方式来托管 swagger 构建吗?

有两种方法可以做到这一点。

  1. Maven 配置文件

    通过引入像 'swagger' 这样的 Maven 配置文件,并将 springfox-swagger-ui 相关的依赖项添加到此 Maven 配置文件。因为你可能需要在 java 代码中使用一些 swagger 注释,所以它不能消除 springfox-swagger2 依赖。

  2. Spring 配置文件(应该比选项 1 更好)

    对于标准的 spring-boot swagger2 配置 class,例如您可以添加 @Profile("swagger") 注释以仅在添加 spring.profiles.active=swagger 时启用 swagger2 集成app 运行ning.

对于不同的主机,我对此一无所知,但据我了解,swagger 将 select 所有 spring 引导端点,因此假设您不能单独使用它们。但是有一个 library 可以提供一种在 spring 引导执行器上发布 springfox-swagger2 的方法。所以你可以在 application.properties 中添加 management.port=8181 属性 使 spring-boot-actuator 运行 在另一个 TCP 端口上。