springboot实战(1):使用idea创建helloworld

蓝亚之舟
蓝亚之舟
蓝亚之舟
57
文章
17
评论
2021年4月26日18:29:411 3,476 3049字阅读10分9秒

1、创建方式

当前 idea 版本为 2019 版本。

springboot实战(1):使用idea创建helloworld

如上图所示,点击 File——New——Project,然后打开如下界面:

springboot实战(1):使用idea创建helloworld

需要注意的是,上面两个红框的内容:Maven 和 Spring Initailizer 的区别,我在网上查了一下,两者本质上没有太大区别,都可以创建 Maven 项目,主要区别在于在 pox.xml 中导入依赖包的时间不同:

  • Maven 创建 spring 项目,所需要的依赖需要手动在 pox.xml 中添加(适合网络差的情况下使用)
  • Spring Initailizer 则是 Spring 提供的一个模板(这个可以选择),我们在创建的时候就可以通过手动勾选的方式,创建结束,自动在 pox.xml 中添加依赖包

一般创建的时候,还是使用 Spring Initailizer 比较好,很方便。

后续更新:上面写的有些小失误,其实 maven 也是有模板的,勾选 create from archetype 后,则可以使用下面的 maven 原型模板进行创建:

springboot实战(1):使用idea创建helloworld

    Archetype 是 Maven 项目模板工具箱,里面有很多 maven 项目模板(作用类比 PPT 模板)。具体使用可以参考:Maven Archetype 模板开发使用 Maven Archetype 基于 IDEA 快速创建项目

需要注意的是:使用 archetype 模板后会下载很多依赖(可能不需要的),所以最好的应用是自己定义一个常用的 archetype 模板。

博主并不常用 maven 创建项目(至少现在是),所以不多说了,以后如果用的多了,会再写一篇来说明的。下面依然是以 spring Initailizer 创建方式来说明。

2、项目描述

继续上面的内容,打开界面以后,左边选择 Spring Initailizer,右边选择对应的 SDK,并且选择初始化模板 URL(这个是 spring 官网线上模板,默认选择,custom 是自定义,可以自己加入其它线上模板),然后 next:

springboot实战(1):使用idea创建helloworld

这里我们可以看一下,线上模板的配置有哪些内容:

springboot实战(1):使用idea创建helloworld

OK,接下来继续我们的新建项目的下一步,如下图所示会根据模板自动生成对于项目的一些描述,可以进行更改(下图是默认内容,大家可以结合我下面对于每个内容的介绍,根据自己的需求进行更改):

springboot实战(1):使用idea创建helloworld

  • group:对应 pom 文件中的 groupId,项目组织的唯一标识,对应 java 包的结构
  • Artifact:对应 pom 文件的 artifactId,项目唯一标识,对应项目名称
  • type:我们是 Maven 构建的,第一个选择 Maven Project
  • language:开发语言,毫无疑问,java
  • packaging:打包类型,也就是最后项目完结了,我们可以打包成 jar 类型,除了 jar 类型就是 war 类型
  • java Version:这个要选择自己安装的 jdk 版本
  • Version:项目版本,对应 pom 文件的 version
  • Description:项目描述,对应 pom 文件的 description
  • package:包名

上面主要需要改的,其实就是 Artifact,也就是项目名称,还有 javaVersion。

如果仔细看就会发现,上面的内容和线上模板内容是一模一样的。

3、选择依赖

springboot实战(1):使用idea创建helloworld

选择依赖的时候,Spring Web 是我们必须要选择,其他都是非必要的,之后用到可以手动在 pom.xml 中添加。

springboot实战(1):使用idea创建helloworld

之后就是项目名称和位置了,其中项目名称是自动填充之前的 Artifact,如果之前填写无误则不用更改,项目位置可以自己选,然后点击 Finish 就完成了!

完成之后,会在右下角出现依赖导入提示:

springboot实战(1):使用idea创建helloworld

直接点击 import changes 即可,这个是根据你的 pom 文件来来导入,先去你本地的 maven 仓库查看有没有相应的依赖包,如果没有,则去中央仓库(spring 服务器中)下载下来,具体可以参考:idea工具使用(1):依赖包详解

4、项目目录

springboot实战(1):使用idea创建helloworld

如上图中,红框标出的是重点需要注意的文件,下面介绍一下:

  • src/main/java 下面是源代码,所有后端代码都要在这里写,
  • src/main/resources 是应用资源
    • static:保存所有的静态资源,如 js、css、images、音视频文件等;
    • templates:保存所有的模板页面,注意 Spring Boot 默认 jar 包使用嵌入式的 Tomcat,默认不支持 JSP 页面);但可以使用模板引擎,如 freemarker、thymeleaf;
    • application.properties:Spring Boot 应用的配置文件,用来修改 Spring Boot 的默认设置,如 Tomcat 的默认端口号等;
  • src/test:Maven 的测试目录

5、运行项目

在 src/main/java/com.../包下面创建一个 controller 包,用来盛放 controller 类,新建一个 HelloWord 类,如下:

然后打开浏览器输入:http://localhost:8080/hello,就可以看到想要的网页了

springboot实战(1):使用idea创建helloworld

问题一:为什么是 8080 端口

springboot实战(1):使用idea创建helloworld

Apache-Tomcat 一般就是使用 8080 端口,至于 80 端口和 8080 端口的区别,具体参考:https://www.cnblogs.com/Renyi-Fan/p/12026802.html

问题二:根目录中的.idea 等目录作用

.idea 文件夹:

    存放项目的配置信息——包括数据源,类库,项目字符编码,历史记录,版本控制信息等。

mvnw

    全名是 maven wrapper 的文件,作用是在 maven-wrapper.properties 文件中记录你要使用的 maven 版本,当用户执行 mvnw clean 命令时,发现当前用户的 maven 版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行 mvn 命令,比如 mvn clean 命令。

.mvn 文件夹

    存放 mvnw 相关文件——存放着 maven-wrapper.properties 和相关 jar 包以及名为 MavenWrapper Downloader 的 java 文件。

mvn.cmd

    执行 mvnw 命令的 cmd 入口,mvnw 文件适用于 Linux(bash),mvnw.cmd 适用于 Windows 环境。

.iml 文件

    intellij idea 的工程配置文件里面包含当前 project 的一些配置信息,如模块开发的相关信息,比如 java 组件,maven 组件,插件组件等,还可能会存储一些模块路径信息,依赖信息以及一些别的信息。

.gitignore

    分布式版本控制系统 git 的配置文件,意思为忽略提交。在.gitingore 文件中,遵循相应的语法,即在每一行指定一个忽略规则。如:.log、/target/、.idea等。

pom.xml:

    主要描述了项目的 maven 坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和 licenses,以及其他所有的项目相关因素,是项目级别的配置文件。当然对于日常来说,就是添加各种依赖的文件。

上述文件中,只有 pom 文件我们会经常使用,其他都可以忽略。

6、进行热部署

参考:idea 配置 springboot 热部署终极解决办法,解决热部署失效问题

更多精彩内容关注我的个人网站:蓝亚之舟博客

继续阅读
蓝亚之舟
JavaWeb开发

apisix安装详解

1、api网关介绍 api网关现在使用的是一个开源项目(apisix),然后在其上进行的二次开发(修改配置和增加插件),api网关本身相当于是代理服务器,或者说其本质就是一个代理服务器。 apisix...
JavaWeb开发

curl命令请求实例

1、使用场景 最近在使用apisix项目(一个API网关开源项目),其中涉及到使用curl命令发送Json数据到etcd数据库,使用curl命令举例如下: curl http://127.0.0.1:...
JavaWeb开发

Vue项目创建详解

1、前提 第一步:安装node.js 什么是nodejs? 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js是一个基于 Chrome V8 引擎的 JavaScri...
JavaWeb开发

javaweb发展历史

一、远古期 - 静态页面时代 讲Java Web开发的历史进程,不得不提Web开发的历史进程。 在互联网刚发展的时候,那时候的网站功能是很简单的。那时候的网站还都是静态的。这里所说的静态是指,请求访问...

发表评论

评论:1   其中:访客  1   博主  0
    • wangqianyv wangqianyv 0

      太详细了!赞赞赞