SpringBoot 初识
案例引入
SpringBoot
是由 Pivotal
团队提供的全新框架,其设计目的是用来简化 Spring
应用的初始搭建以及开发过程。
使用了 Spring
框架后已经简化了我们的开发。而 SpringBoot
又是对 Spring
开发进行简化的,可想而知 SpringBoot
使用的简单及广泛性。既然 SpringBoot
是用来简化 Spring
开发的,那我们就先回顾一下,以 SpringMVC
开发为例:
创建工程,并在
pom.xml
配置文件中配置所依赖的坐标编写
web3.0
的配置类作为
web
程序,web3.0
的配置类不能缺少,而这个配置类还是比较麻烦的,代码如下编写
SpringMVC
的配置类
做到这只是将工程的架子搭起来。要想被外界访问,最起码还需要提供一个 Controller
类,在该类中提供一个方法。
编写
Controller
类
从上面的 SpringMVC
程序开发可以看到,前三步都是在搭建环境,而且这三步基本都是固定的。SpringBoot
就是对这三步进行简化了。接下来我们通过一个入门案例来体现 SpingBoot
简化 Spring
开发。
快速入门
SpringBoot
开发起来特别简单,分为如下几步:
创建新模块,选择 Spring 初始化,并配置模块相关基础信息
选择当前模块需要使用的技术集
开发控制器类
运行自动生成的 Application 类
知道了 SpringBoot
的开发步骤后,接下来我们进行具体的操作
创建新模块
点击
+
选择New Module
创建新模块选择
Spring Initializr
,用来创建SpringBoot
工程以前我们选择的是
Maven
,今天选择Spring Initializr
来快速构建SpringBoot
工程。而在Module SDK
这一项选择我们安装的JDK
版本。对
SpringBoot
工程进行相关的设置我们使用这种方式构建的
SpringBoot
工程其实也是Maven
工程,而该方式只是一种快速构建的方式而已。注意:打包方式这里需要设置为
Jar
选中
Web
,然后勾选Spring Web
由于我们需要开发一个
web
程序,使用到了SpringMVC
技术,所以按照下图红框进行勾选下图界面不需要任何修改,直接点击
Finish
完成SpringBoot
工程的构建
经过以上步骤后就创建了如下结构的模块,它会帮我们自动生成一个 Application
类,而该类一会再启动服务器时会用到
==注意:==
在创建好的工程中不需要创建配置类
创建好的项目会自动生成其他的一些文件,而这些文件目前对我们来说没有任何作用,所以可以将这些文件删除。
可以删除的目录和文件如下:
.mvn
.gitignore
HELP.md
mvnw
mvnw.cmd
创建 Controller
在 com.itheima.controller
包下创建 BookController
,代码如下:
启动服务器
运行 SpringBoot
工程不需要使用本地的 Tomcat
和 插件,只运行项目 com.itheima
包下的 Application
类,我们就可以在控制台看出如下信息
进行测试
使用 Postman
工具来测试我们的程序
通过上面的入门案例我们可以看到使用 SpringBoot
进行开发,使整个开发变得很简单,那它是如何做到的呢?
要研究这个问题,我们需要看看 Application
类和 pom.xml
都书写了什么。先看看 Applicaion
类,该类内容如下:
这个类中的东西很简单,就在类上添加了一个 @SpringBootApplication
注解,而在主方法中就一行代码。我们在启动服务器时就是执行的该类中的主方法。
再看看 pom.xml
配置文件中的内容
我们代码之所以能简化,就是因为指定的父工程和 Spring Web
依赖实现的。
SpringBoot 的安装问题
下载速度的问题
第一次使用 SpringBoot 的时候,会下载很多依赖,如果我们不使用国内源的话就会下得很慢。
我们先找到我们的 setting.xml,然后加一个镜像:
配置完成之后,记得在你的 IDEA 中使用:
兼容性问题
截至文章发布,springboot 在官网上的最低创建版本是 2.6.10。这个最低版本跟 tomcat9 及以上兼容。
也就是说如果你现在使用的是 tomcat8,那么就会因为兼容性问题,无法使用 springboot
网上有人的解决办法:在 pom.xml 文件中指定低一点版本的 tomcat 内嵌容器
这种是不成立的,你 Springboot 里面下载的依赖其本身就是互相兼容的,你去单独修改一个的版本,不能解决兼容性问题。
版权声明: 本文为 InfoQ 作者【十八岁讨厌编程】的原创文章。
原文链接:【http://xie.infoq.cn/article/28427ced5504d451bc2975ac0】。未经作者许可,禁止转载。
评论