IDEA 2021.2.3 Spring Boot项目创建

IDEA 2021.2.3 Spring Boot项目创建

前言

按理来说应该是按照下方步骤创建新的Spring项目:

  1. 打开 IntelliJ IDEA,选择 “File”(文件)菜单,然后选择 “New”(新建),在弹出菜单中,选择 “Project”(项目)。
  2. 在项目类型列表中,选择 “Spring Initializr”(Spring初始器)。
    设置项目的相关信息,例如项目名称、存储位置等,点击 “Next”(下一步)。
  3. 在 Spring Initializr 配置向导中,选择所需的 Spring Boot 版本、语言和其他相关配置,点击 “Next”(下一步)。
  4. 在依赖项列表中,选择你需要的 Spring 模块和其他库,点击 “Next”(下一步)。
  5. 设置项目的存储位置和其他配置,点击 “Finish”(完成)。
    但是,我的是IDEA2021.2.3 Community版,创建新的project是没有Spring Initializr这个选项,如下图。
    IDEA 2021.2.3 Spring Boot项目创建_第1张图片
    所以选择在"File–>Settings… -->Plugins–>download Spring Assistant",如下图。
    IDEA 2021.2.3 Spring Boot项目创建_第2张图片
    但是重启IDE后仍旧没有Spring Initializr这个选项,根据博客 解决Intellij社区版无法安装spring Initializr、Spring Assistant问题
    ,这篇说是因为IDEA 2019.3.5版本以后均不兼容Spring Boot,所以需要重新下载旧的IDEA重新配置就好。好巧不巧,IDEA2019.3.5无法在我的电脑上运行(MMP)如下图。
    IDEA 2021.2.3 Spring Boot项目创建_第3张图片所以,其实只要搭建起Spring架构就可以了,不用管这个initializr是否存在,所以下面的内容就是记录如何搭建这个架构。

创建过程

  • 首先确定好自己的JDK版本,win+R–>java --version可以看到我的JDK是17。
    JDK17

  • 然后进入这个链接页面Spring Initializr,可以看到这是一个网页版的Spring Initializr,选择对应的配置,点击GENERATE,最后会下载一个压缩包就是导出的项目demo,之后解压到自定义的项目路径中使用IDEA打开就可以了。
    IDEA 2021.2.3 Spring Boot项目创建_第4张图片
    IDEA 2021.2.3 Spring Boot项目创建_第5张图片

  • 如果你解压这个项目并打开后,许多文件无法读取,重新打开试试,如果重新将压缩包内容的所有内容复制粘贴到一个新建的项目中,代替他原来的文件内容,很有可能像下图一样报错,有可能无法完全解决,之前做成功过一次(Spring0614)但是没有记录,后面尝试(SpringCreate)的时候又不可以了,所以不建议。

IDEA 2021.2.3 Spring Boot项目创建_第6张图片IDEA 2021.2.3 Spring Boot项目创建_第7张图片4. 具体地,这个页面上的各个选项在这里也记录下吧,免得又遇到什么坑。
【Project】

  • Gradle - Groovy:
    使用 Groovy 语言编写的 Gradle 构建脚本。
    Groovy 是一种动态类型的编程语言,与 Java 语言兼容,可以在 Gradle 构建脚本中使用更灵活和简洁的语法。
    适用情况:
    如果你熟悉 Groovy 语言或希望使用更灵活和简洁的语法编写 Gradle 构建脚本,可以选择此选项。
  • Gradle - Kotlin:
    使用 Kotlin 语言编写的 Gradle 构建脚本。
    Kotlin 是一种现代的静态类型编程语言,与 Java 语言兼容且可以在 Gradle 构建脚本中使用。它提供了更强大的语言特性和更安全的代码编写体验。
    适用情况:
    如果你喜欢使用 Kotlin 语言或希望使用 Kotlin 的强大特性编写 Gradle 构建脚本,可以选择此选项。
  • Maven:
    使用 Maven 构建工具和 XML 格式的配置文件。
    Maven 是一个广泛使用的 Java 项目构建工具,通过使用 XML 配置文件来管理项目依赖和构建过程。
    适用情况:
    如果你熟悉 Maven 或项目中已经使用了 Maven,或者你希望使用传统的 XML 配置文件来管理项目构建和依赖,可以选择此选项。

【Spring Boot】 在 Spring Initializr 的 “Spring Boot” 选项中,列出了几个不同的版本号选项,如 3.1.1 (SNAPSHOT)、3.1.0、3.0.8 (SNAPSHOT)、3.0.7、2.7.13 (SNAPSHOT) 和 2.7.12。这些版本号代表了不同的 Spring Boot 版本。下面是它们之间的一些区别:

  • 主要版本号(Major Version):
    -3.x.x:代表最新的主要版本,可能包含新的特性和改进。通常情况下,最新的主要版本是推荐使用的,因为它具有最新的功能和改进。
    2.x.x:代表较旧的主要版本,通常是在 3.x.x 发布之前的主要版本。如果你的项目中使用了旧版本的 Spring Boot 或有特定的依赖要求,你可以选择适合的 2.x.x 版本。

  • 次要版本号(Minor Version)和修订号(Patch Version):
    次要版本号和修订号的增加表示相应版本的功能增强、bug 修复和性能改进。较新的次要版本通常会包含较旧版本的所有修复和改进。

  • (SNAPSHOT):
    (SNAPSHOT) 表示开发中的版本,它包含最新的开发和实验性功能。这些版本通常用于开发和测试目的,不适合在生产环境中使用。

根据你的需求和项目要求,你可以选择适合的 Spring Boot 版本。通常建议选择最新的稳定版本,以获得最新的功能和改进。如果你的项目依赖于特定的 Spring Boot 版本或遇到了与某个特定版本相关的问题,你可以选择对应的版本。

对于大多数项目来说,选择最新的稳定版本是一个不错的选择,因为它提供了最新的功能和改进,并且通常具有更好的稳定性和支持。

【Project Metadata】在 Spring Initializr 的 “Project Metadata” 部分,提到了一些内容,如 Group、Artifact、Name、Description、Package name、Packaging 和 Java。下面是对每个选项的简要介绍:

  • Group(组织或公司名称):用于指定项目所属的组织或公司的名称,通常使用反转的域名格式,如 com.example。
    示例:如果你的公司或组织的域名是 example.com,你可以将 Group 设置为 com.example。

  • Artifact(项目唯一标识符或名称):用于指定项目的唯一标识符或名称。
    示例:你可以根据项目的实际情况提供一个简短而有意义的标识符或名称,例如 my-project。

  • Name(项目名称):用于指定项目的名称,提供一个简要描述项目的名称。
    示例:你可以使用更具描述性的名称,例如 “My Awesome Spring Project”。

  • Description(项目描述):用于提供项目的简要描述,对项目进行说明。
    示例:你可以简要描述项目的目的、功能或特点。

  • Package name(包名):用于指定项目的默认 Java 包名。
    示例:你可以提供一个符合标准命名约定的包名,例如 com.example.myproject。

  • Packaging(打包方式):用于指定项目的打包方式,即项目构建生成的最终产物的类型。
    示例:你可以选择打包为 JAR(Java Archive)或 WAR(Web Archive)。

  • Java(Java 版本):用于指定项目所使用的 Java 版本(JDK)。
    示例:根据你的需求和项目要求,可以选择合适的 Java 版本,如 20、17、11 或 8。

根据你的项目需求,你可以根据这些选项提供相应的值。其中,Group、Artifact、Name 和 Package name 是必填项,而 Description、Packaging 和 Java 是可选项,可以根据需要进行填写或选择。这些值将用于生成项目的基础结构和配置文件,因此确保提供准确和合适的值以符合项目的要求。

这里记录一下JAR包和WAR包的区别:

  1. JAR(Java Archive):【java程序】
    a. JAR 文件是一种用于打包 Java 类文件、资源文件和库文件的归档文件格式。
    b. JAR 文件通常用于打包和分发独立的 Java 应用程序或库。
    c. JAR 文件可以包含可执行代码、类文件、配置文件、资源文件和依赖库等。
    d. JAR 文件通常在命令行或脚本中通过 java -jar 命令运行。

  2. WAR(Web Archive):【WEB】
    a. WAR 文件是一种用于打包和分发 Java Web 应用程序的归档文件格式。
    b. WAR 文件通常用于部署和运行在 Web 容器(如 Tomcat、Jetty 等)中的 Java Web 应用程序。
    c. WAR 文件可以包含 Web 应用程序的 Java 类文件、静态资源(如 HTML、CSS、JavaScript 文件)、配置文件、JSP 文件、Servlet 类、标签库等。
    d. WAR 文件通常被部署到 Web 容器中,并通过容器提供的 HTTP 端点来访问和运行。

区别:

  • JAR 文件适用于独立的 Java 应用程序或库,而 WAR 文件适用于 Java Web 应用程序。
  • JAR 文件通常包含可执行代码和库文件,而 WAR 文件除了包含代码和库文件外,还包含 Web 应用程序所需的其他资源。
  • WAR 文件可以通过 Web 容器来运行和访问,而 JAR 文件通常通过命令行或脚本来执行。
    WAR 文件具有一些与 Web 相关的特殊目录结构和配置文件(如 WEB-INF 目录和 web.xml 文件),用于支持 Web 应用程序的部署和执行。

选择 JAR 还是 WAR 取决于你的项目类型和部署环境。如果你正在开发一个独立的 Java 应用程序或库,那么选择 JAR 格式更合适。如果你正在开发一个 Java Web 应用程序,并计划部署到 Web 容器中,那么选择 WAR 格式更合适。

后话

讲真我要是最开始下的商业版就没这么多事了。

你可能感兴趣的:(spring,boot,intellij-idea,spring)