1、创建方式
当前 idea 版本为 2019 版本。
如上图所示,点击 File——New——Project,然后打开如下界面:
需要注意的是,上面两个红框的内容:Maven 和 Spring Initailizer 的区别,我在网上查了一下,两者本质上没有太大区别,都可以创建 Maven 项目,主要区别在于在 pox.xml 中导入依赖包的时间不同:
- Maven 创建 spring 项目,所需要的依赖需要手动在 pox.xml 中添加(适合网络差的情况下使用)
- Spring Initailizer 则是 Spring 提供的一个模板(这个可以选择),我们在创建的时候就可以通过手动勾选的方式,创建结束,自动在 pox.xml 中添加依赖包
一般创建的时候,还是使用 Spring Initailizer 比较好,很方便。
后续更新:上面写的有些小失误,其实 maven 也是有模板的,勾选 create from archetype 后,则可以使用下面的 maven 原型模板进行创建:
需要注意的是:使用 archetype 模板后会下载很多依赖(可能不需要的),所以最好的应用是自己定义一个常用的 archetype 模板。
博主并不常用 maven 创建项目(至少现在是),所以不多说了,以后如果用的多了,会再写一篇来说明的。下面依然是以 spring Initailizer 创建方式来说明。
2、项目描述
继续上面的内容,打开界面以后,左边选择 Spring Initailizer,右边选择对应的 SDK,并且选择初始化模板 URL(这个是 spring 官网线上模板,默认选择,custom 是自定义,可以自己加入其它线上模板),然后 next:
这里我们可以看一下,线上模板的配置有哪些内容:
OK,接下来继续我们的新建项目的下一步,如下图所示会根据模板自动生成对于项目的一些描述,可以进行更改(下图是默认内容,大家可以结合我下面对于每个内容的介绍,根据自己的需求进行更改):
- 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、选择依赖
选择依赖的时候,Spring Web 是我们必须要选择,其他都是非必要的,之后用到可以手动在 pom.xml 中添加。
之后就是项目名称和位置了,其中项目名称是自动填充之前的 Artifact,如果之前填写无误则不用更改,项目位置可以自己选,然后点击 Finish 就完成了!
完成之后,会在右下角出现依赖导入提示:
直接点击 import changes 即可,这个是根据你的 pom 文件来来导入,先去你本地的 maven 仓库查看有没有相应的依赖包,如果没有,则去中央仓库(spring 服务器中)下载下来,具体可以参考:idea工具使用(1):依赖包详解
4、项目目录
如上图中,红框标出的是重点需要注意的文件,下面介绍一下:
- 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 类,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package com.springlearning.springbootlearning.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class Helloworld { @ResponseBody @RequestMapping("/hello") public String hello(){ return "Hello world!"; } } |
然后打开浏览器输入:http://localhost:8080/hello,就可以看到想要的网页了。
问题一:为什么是 8080 端口
Apache-Tomcat 一般就是使用 8080 端口,至于 80 端口和 8080 端口的区别,具体参考:https://www.cnblogs.com/Renyi-Fan/p/12026802.html
问题二:根目录中的.idea 等目录作用
.idea 文件夹:
mvnw
.mvn 文件夹
mvn.cmd
.iml 文件
.gitignore
pom.xml:
上述文件中,只有 pom 文件我们会经常使用,其他都可以忽略。
6、进行热部署
参考:idea 配置 springboot 热部署终极解决办法,解决热部署失效问题
更多精彩内容关注我的个人网站:蓝亚之舟博客。
2022年9月25日 上午12:01 1F
登录回复
太详细了!赞赞赞