day02_SpringBoot快速入门

springboot 本质上还是一个maven项目,三种springboot创建方式

环境准备

IDE:IntelliJ IDEA 2019.3
数据库:MySQL 5.7
Spring-Boot:2.2.2
Java开发环境:JDK1.8
Maven: 3.5.4 (官方声明Springboot 1.4.4版本需要Maven 3.2+)
本地仓库:后续提供网盘地址

1. 第一种SpringBoot创建方式-在线创建

首先打开 https://start.spring.io 这个网站,如下:

① 通过网站快速创建springboot项目

在这里插入图片描述
这里要配置的按顺序分别如下:

  • 项目构建工具是 Maven 还是 Gradle ?我见到有人用 Gradle 做 Java 后端项目,但是整体感觉 Gradle 在 Java 后端中使用的还是比较少,Gradle 在 Android 中使用较多,Java 后端,目前来看还是 Maven 为主,因此这里选择第一项。
  • 开发语言,选择 Java
  • Spring Boot 版本,可以看到,目前最新的稳定版是 2.4.1 ,这里我们就是用最新版,先选着后面再替换,如果没有这个版本选其他版本一样
  • 既然是 Maven 工程,当然要有项目坐标,项目描述等信息了,另外这里还让输入了包名,因为创建成功后会自动创建启动类。
  • Packing 表示项目要打包成 jar 包还是 war 包,Spring Boot 的一大优势就是内嵌了 Servlet 容器,打成 jar 包后可以直接运行,所以这里建议打包成 jar 包,当然,开发者根据实际情况也可以选择 war 包。
  • 然后选选择构建的 JDK 版本,这里我使用的是JDK8
  • 最后是选择所需要的依赖,输入关键字如 web ,会有相关的提示,这里我就先加入 web 依赖。

所有的事情全部完成后,点击最下面的 Generate Project 按钮,或者点击 Alt+Enter 按键,此时会自动下载项目,将下载下来的项目解压,然后用 IntelliJ IDEA 或者 Eclipse 打开即可进行开发。

② 将创建的项目放入任意盘符,进行解压

在这里插入图片描述

③ 打开idea,在idea中打开解压的项目

在这里插入图片描述
在这里插入图片描述

④ 修改springboot版本

项目打开后要稍等一会,加载速度比较慢,加载好后将pom.xml中红线标记部分修改成2.2.2.RELEASE,这里我使用的是springboot 2.2.2.RELEASE版本
在这里插入图片描述

2. 第二种SpringBoot创建方式-使用开发工具创建

如果觉得上面的步骤过于繁琐,我们可以使用 IDE 来创建,帝哥这里以 IntelliJ IDEA为例,需要注意的是,IntelliJ IDEA 只有 ultimate 版才有直接创建 Spring Boot 项目的功能,社区版是没有此项功能的。

  • Community:

    社区版,免费,但是功能有限制,Android Studio就是基于这个版本定制的。

    http://idea-intellij.com/intellij-community/

  • Ultimate:

    终极版,收费,功能无限制。

    http://idea-intellij.com/intellij-ultimate/

  • EAP:

    终极版的免费版,免费,功能无限制,但是每隔30天要重装一次。

    http://idea-intellij.com/intellij-eap/

① IntelliJ IDEA 创建

首先在创建项目时选择 Spring Initializr,如下图:
在这里插入图片描述
在这里插入图片描述
然后点击 Next ,填入 Maven 项目的基本信息,如下
在这里插入图片描述
再接下来选择需要添加的依赖,如下图:
在这里插入图片描述
勾选完成后,点击 Next 完成项目的创建。

3. 第三种SpringBoot创建方式-Maven 创建

上面提到的几种方式,实际上都借助了 https://start.spring.io/ 这个网站,帝哥记得在 2017 年的时候,这个网站还不是很稳定,经常发生项目创建失败的情况,从2018年开始,项目创建失败就很少遇到了,不过有一些读者偶尔还是会遇到这个问题,他们会在微信上问帝哥这个问题要怎么处理?我一般给的建议就是直接使用 Maven 来创建项目。步骤如下:

① 创建一个普通的Maven项目

注意这里不用选择项目骨架(如果大伙是做练习的话,也可以去尝试选择一下,这里大概有十来个 Spring Boot 相关的项目骨架),直接点击 Next 下一步.
在这里插入图片描述

② 填写Maven项目基本信息

在这里插入图片描述
然后点击 Finish完成项目的创建。

③ 添加SpringBoot的起步依赖

SpringBoot要求,项目要继承SpringBoot的起步依赖spring-boot-starter-parent

	<!--提供了springboot统一的依赖管理和插件管理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
    </parent>

SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖

	<dependencies>
        <!-- web 启动器,支持全栈式Web开发,包括Tomcat和spring-webmvc。 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

最终的pom.xml效果如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <!--提供了springboot统一的依赖管理和插件管理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
  
    <groupId>com.xinyixuetang</groupId>
    <artifactId>springboot_demo</artifactId>
    <version>1.0-SNAPSHOT</version>
  	<!-- 设置maven项目为war -->
	<packaging>war</packaging>
    <dependencies>
        <!-- web 启动器,支持全栈式Web开发,包括Tomcat和spring-webmvc。 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- 添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。-->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

④ 编写SpringBoot启动类

再在 java 目录下创建包 com.xinyixuetang,包中创建一个名为ApplicationMain 的启动类,执行这里的 main 方法就可以启动一个 Spring Boot 工程了,如下:

package com.xinyixuetang;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

//SpringBootApplication注解标记当前类为SpringBoot的引导启动类
@SpringBootApplication
public class ApplicationMain  {
    public static void main(String[] args) {
        /*
        	SpringApplication.run一共做了两件事

			创建SpringApplication对象;在对象初始化时保存事件监听器,容器初始化类以及判断是否为web应用,保存包含main方法的主配置类。
			调用run方法;准备spring的上下文,完成容器的初始化,创建,加载等。会在不同的时机触发监听器的不同事件。
        */
        SpringApplication.run(ApplicationMain.class,args);
    }
}

⑤ 编写Controller

在启动类ApplicationMain 同级包或者子级包中创建HelloController,在java目录创建包 com.xinyixuetang.controller 包中创建一个名为HelloController的控制类,如下:

package com.xinyixuetang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class HelloController {
    
    @RequestMapping("hello")
    @ResponseBody
    public String hello(){
        return "hello springboot";
    }
}

⑥ 测试

执行SpringBoot启动类的主方法,控制台打印日志如下:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.2.RELEASE)

2020-12-09 18:26:38.788  INFO 47136 --- [           main] com.bw.ApplicationMain                   : Starting ApplicationMain on LAPTOP-QOPMUIA9 with PID 47136 (E:\2020\1809a\ideaworkspace\springboot_demo3\target\classes started by wanghd in E:\2020\1809a\ideaworkspace\springboot_demo3)
2020-12-09 18:26:38.794  INFO 47136 --- [           main] com.bw.ApplicationMain                   : No active profile set, falling back to default profiles: default
2020-12-09 18:26:39.828  INFO 47136 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
... ... ...
2020-12-09 18:26:40.182  INFO 47136 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-12-09 18:26:40.185  INFO 47136 --- [           main] com.bw.ApplicationMain                   : Started ApplicationMain in 1.985 seconds (JVM running for 5.578)

通过日志发现,Tomcat started on port(s): 8080 (http) with context path ‘’
tomcat已经起步,端口监听8080,web应用的虚拟工程名称为空
打开浏览器访问url地址为:http://localhost:8080/hello
在这里插入图片描述

4. 项目结构

① 使用Spring Initializr工具创建出来的项目结构大致如下图:

在这里插入图片描述

对于我们来说,src 是最熟悉的, Java 代码和配置文件写在这里,test 目录用来做测试,pom.xml 是 Maven 的坐标文件,就这几个。

② 使用Maven创建出来的项目结构大致如下图:

在这里插入图片描述
修改后效果
在这里插入图片描述

如果觉得文章有用可以请点赞收藏哦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值