Map 1
Spring Boot Initializr
  Spring Initializr
    技术栈
      initializr
        Java
      start.spring.io
        Java
        JavaScript
        HTML/SCSS
    基本原理
      基于选择的模块生成 pom.xml 和项目骨架，相对机械
    优势和特性
      支持选择 Spring Boot 版本
        SNAPSHOT
        Release
      支持选择 JDK 版本
        8
        11
        16
      支持选择打包类型
        Jar
        War
      支持选择构建工具
        Maven
        Gradle
      支持选择程序语言
        Java
        Kotlin
        Groovy
      支持所有 Spring 家族模块
        Dev Tools
        Web
        Security
        SQL
          Driver
        NoSQL
        Message
        IO
          Validation
          Scheduler
        OPS
        Testing
        Spring Cloud
          Config
          Discovery
          Route
      支持的其它组件
        Mybatis
        Template engines
        Spring Boot Admin
        Observability（可观测性）
          Prometheus
          Sleuth
          ……
        运行环境
          VMWARE TANZU
          MICROSOFT AZURE
          GOOGLE CLOUD PLATFORM
      支持数据库（RDBMS/NoSQL）驱动或客户端选择
      选择是白盒的、按模块和组件的
      pom.xml / build.gradle 可预览
      支持 Cloud Concector
      根据选择的模块生成 HELP.md
      生成的工程构建文件简单
      支持自定义和扩展
    缺点
      模块
        initializr-actuator
        initializr-bom
        initializr-docs
        initializr-generator
        initializr-generator-spring
        initializr-generator-test
        initializr-metadata
        initializr-version-resolver
        initializr-web
      无配置信息
      无Profile，不支持切换某些打包特性
      不支持多模块项目
    支持的接口
      Spring Boot CLI（Terminal）
      IDE
        STS
        IntelliJ IDEA Ultimate
        NetBeans
        VSCode
      Web UI
  Generator JHipster
    技术栈
      JavaScript
      TypeScript
    基本原理
      基于模板和配置生成 pom.xml、配置文件、项目骨架、Java Config、前端UI，逻辑相对复杂
    优势和特性
      基于问题引导式的黑盒选择
        应用类型
          单体应用
          微服务应用
          微服务网关
            Spring Cloud Gateway
            Zuul 1.x
          UAA（已废弃）
        Reactive？
          WebServlet
          WebFlux
        应用名称
        端口
        Package
        注册中心类型
          JHipster Registry
          Consul
          No service discovery
        认证方式
          JWT
          OAuth 2.0 / OIDC
          JHipster UAA server（已废弃）
          Session（单体应用）
        数据库
          SQL (H2, MySQL, MariaDB, PostgreSQL, Oracle, MSSQL)
          MongoDB
          Cassandra
          Couchbase
          Neo4j
          No database
          开发、生产
        Spring Cache
          Ehcache
          Caffeine
          Hazelcast
          Infinispan
          Memcached
          Redis
          disable
        Hibernate 2nd level cache
        building
          Maven
          Gradle
        Other technologies
          Elasticsearch
          Websocket
          Apache Kafka
          OpenAPI-generator
        Client
          Angular
          React
          Vue（7.0+）
          No client
        Bootswatch theme
        国际化
          本地语言
          Additional
        其它测试
          Gatling（性能测试）
          Cucumber（Behavior-Driven Development (BDD)）
          Protractor（end-to-end）
        JHipster Marketplace
      支持选择构建工具
        Maven
        Gradle
      生成了常用的配置模版
        dev
        prod
        tls
        oauth2
      强化了常用组件的配置
        jhipster-framework
      提供了自定义模块对 Spring 组件进行封装
      生成了常用的 Java Config
        JWT
        OAuth2.0 + OIDC
      生成了常用的测试用例
        Java
          JUnit
          Spring Boot Test
      添加常用的构建插件
      添加加强的构建插件
        git-commit-id
        jib
        sonar
      支持生成前端UI
        Angular
        React
        Vue（7.0+）
        No client
      支持 OpenAPI
      支持国际化
      附带运行所需的 Docker-compose 及配置
      支持 Cloud Concector
      Dockerfile
      生成 git 配置和提交
      生成 README.md
      支持基于模型生成各层代码（JDL）
      支持通过应用市场扩展
      内置了 Profile
        tls
        war
        IDE相关
          eclipse
          IDE
        oauth2
        zipkin
      其它与构建、IDE、环境相关的模板文件
        .editorconfig
        Maven / Gradle wrapper
        .gitignore
        sonar-project.properties
        checkstyle.xml
        robots.txt
      logback-spring.xml 模板
      支持zipkin
      支持生成CI/CD配置
        jenkins
        gitlab
      支持扩展
    缺点
      不支持 JDK 版本选择
      不支持 Spring Boot 版本选择
      支持的模块相对固定和有限
      不支持多模块项目
      未支持 Mybatis
    支持的接口
      Web UI
      Terminal
https://github.com/spring-io/initializr
https://github.com/spring-io/start.spring.io
可选模块，提供关于项目生成的附加信息和统计信息。
为项目中的依赖项管理提供了一份清单。
定义典型Spring Boot项目约定的可选模块。可以被自定义的约定重用或替换。
用于项目各个方面的元数据基础设施。
可选模块，用于从任意POM提取版本号。
用于第三方客户端的Web端点。
https://github.com/jhipster
https://github.com/jhipster/generator-jhipster