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

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

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

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

2、项目描述

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

在这里插入图片描述

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

在这里插入图片描述

自动生成对于项目的一些描述,可以进行更改(下图是默认内容,大家可以结合我下面对于每个内容的介绍,根据自己的需求进行更改):

在这里插入图片描述

  • 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 类,如下:

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

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

.mvn 文件夹

存放 mvnw 相关文件——存放着 maven-wrapper.properties 和相关 jar 包以及名为 MavenWrapperDownloader 的 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 热部署终极解决办法,解决热部署失效问题

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

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值