二、SpringBoot快速入门、创建Maven工程

2.1 代码实现

2.1.1 创建Maven工程

使用idea工具创建一个maven工程,该工程为普通的java工程即可

2.1.2 添加SpringBoot的起步依赖

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

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.3</version>
</parent>

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

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

2.1.3 编写SpringBoot引导类

要通过SpringBoot提供的引导类起步SpringBoot才可以进行访问

package ***.baijie;

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

@SpringBootApplication
public class MySpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication.class);
    }

}

2.1.4 编写Controller

在引导类MySpringBootApplication同级包或者子级包中创建QuickStartController

package ***.baijie.controller;

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

@Controller
public class QuickStartController {
    
    @RequestMapping("/test")
    @ResponseBody
    public String quick(){
        return "wel***e to study springBoot 框架!";
    }
    
}

2.1.5 测试

执行SpringBoot起步类的主方法,并不需要把项目部署到tomcat中了,如图:

 控制台打印日志如下:

通过日志发现,Tomcat started on port(s): 8080 (http) with context path ''

tomcat已经起步,端口监听8080,web应用的虚拟工程名称为空

打开浏览器访问url地址为:http://localhost:8080/test

 

大家可以发现,使用springboot创建一个web项目,是非常简单的!大大的提高了开发效率呀!

2.1.6 注意事项

springboot启动类文件 即Application文件不能直接放在main/java文件夹下,必需要新建一个包,而后把它放进去。否则会报错哦!

2.2 快速入门解析

2.2.2 SpringBoot代码解析

  • @SpringBootApplication:标注SpringBoot的启动类,该注解具备多种功能(后面详细剖析)

  • SpringApplication.run(MySpringBootApplication.class) 代表运行SpringBoot的启动类,参数为SpringBoot启动类的字节码对象

2.2.3 SpringBoot工程热部署

我们在开发中反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间,我们可以在修改代码后不重启就能生效,在 pom.xml 中添加如下配置就可以实现这样的功能,我们称之为热部署。实现热部署有三种方式,本课程讲devtools实现热部署方式!

步骤1:添加热部署依赖:
<!--热部署配置-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
</dependency>

【备注】devtools的原理

深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,这样在有代码更改的时候,原来的restart ClassLoader 被丢弃,重新创建一个restart ClassLoader,由于需要加载的类相比较少,所以实现了较快的重启时间。

步骤2:IDEA中设置自动编译

因为Intellij IEDA默认情况下不会自动编译,需要对IDEA进行自动编译的设置,如下:

然后 Shift+Ctrl+Alt+/,选择Registry

步骤3:测试结果

启动项目之后,修改一些数据,然后重新刷新页面,即可查看更新之后的数据。不用重新启动服务了!

2.2.4 使用idea快速创建SpringBoot项目

前缀:为了避免创建过程受网络影响,项目加载太过于缓慢,我们先对idea进行配置:

配置1:修改下载速度的宽带限制

配置2:指定archetype-catalog.xml来源

在idea软件中,提供可以直接通过spring官网快速创建一个springboot的。如下图:

比如,老师这里把项目名称改为:fast_springboot_project

提供实现不同功能的多种启动依赖,比如我们需要web功能,则可以直接选择Web -> spring Web依赖。

启动类也给我们自动创建好了:

可以使用快速入门的方式创建Controller进行访问,此处不再赘述

2.2.4.1 注意事项

【温馨提示1】可能jdk的编译版本需要更改为1.8的哦!每台电脑不一样!

【温馨提示2】

SpringBoot项目启动后 迅速 执行结束,控制台打印: No active profile set, falling back to default profiles: default,并执行结束:Process finished with exit code 0.

解决方案1:改为默认使用的***pile范围

解决方案2:直接删掉此坐标。因为父类已提供Tomcat依赖!

转载请说明出处内容投诉
CSS教程_站长资源网 » 二、SpringBoot快速入门、创建Maven工程

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买