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依赖!