竹笋

首页 » 问答 » 常识 » SpringBoot的优点,有哪些值得我
TUhjnbcbe - 2023/4/5 22:12:00

SpringBoot的优点,有哪些值得我们使用的地方。SpringBoot写一个web应用:helloworld。

开始

从今天起,我们开始SpringBoot之旅。本文是SpringBoot的入门demo:helloworld。

Sping蓝图

Helloworld

再没有什么,比helloworld更能激起一个程序员的青春回忆了。

目标:实现一个web应用,通过访问/hello,得到helloworld字样。需要通过两种方式启动:在ide内和打包执行。

helloworld

项目结构如下:

项目结构

pom.xml核心内容如下:

Application.java核心内容如下:

HelloAction.java核心内容如下:

application.yml配置文件内容如下:

在ide中,执行Application.java的main方法,在控制台得到如下日志:

启动日志

在浏览器中输入地址,得到正确结果。

执行mvncleanpackage指令,在target中得到如下文件:

打包结果

通过java-jar命令执行helloworld-1.0-SHAPSHOT.jar包。(先关闭IDE中的执行进程,否则会报端口占用。)

在控制台看到相同内容,浏览器也得到正确结果。

SpringBoot是啥

本文适合的读者,默认具备一定的java编程经验,熟练使用IDE工具(如IDEA),会使用maven。如果无法顺利完成上述demo,建议先百度补充一些基础知识,再来学习本文。

一个简单的demo,却是整合了SpringBoot的精华,仔细分析,我们发现,它把SpringBoot的优势展露无疑。

简单的依赖方式。

有使用Spring开发过web应用经验的人应该深有感触。在使用时,不得不通过maven,在pom.xml配置一大块的依赖,如spring-web,spring-webmvc,spring-core,spring-context等一系列Spring家族的应用,还需要其它如日志、JSON转换等相关的jar包。而使用SpringBoot,你只需要将parent节点设置为spring-boot-starter-parent,再添加spring-boot-starter-web作为依赖项即可。打开查看项目所依赖的包,我们发现,SpringBoot把我们在开发web应用时,经常引用的一些包都引入到了项目里,截图如下:

引入依赖

再回想一下之前的开发经历,我们发现,SpringBoot还帮我们解决了关于依赖的另外一个问题,版本冲突。

以前,在引入各个所需要jar包后,我们不得不注意jar包冲突的问题。而有了SpringBoot的帮助,我们完全不需要有此顾虑。SpringBoot已经为我们将常用的几乎绝大多数的jar包的版本号,写在了父依赖里。在使用时,我们不需要输入版本号,SpringBoot会为我们引入最合适的相应版本。

简单的配置方式。

在demo中,我们只通过YAML配置文件的方式,配置了一个端口号。事实上,这行配置在开发时可能也是多余的。demo中将端口号配置为80,是因为开发机器上,有其它服务占用了SpringBoot默认的端口号,所以,如果不重新配置端口号,就需要杀死占用端口的相应服务。

回想以前,一系列诸如context.xml类的配置文件,还有web.xml中的各种配置。SpringBoot,真香。

简单的代码方式。

demo较为简单,可能单从代码来说,demo中的代码和之前用Springmvc时,相差不多。但是,当你再深入学习时,如,你开始使用AOP,过滤器等其它web应用特性时,你就会发现,在代码上来说,SpringBoot也要更加简单。

简单的打包方式。

我们还发现了一个SpringBoot和以前的不同,就是程序执行和打包的方式。就执行上来说,SpringBoot使用一个main方法作为启动类,打包好后,也可以直接通过java-jar命令来执行。无需像以前一样,要通过一个tomcat或其它web窗口来运行。

打包时,也只需要一行命令,当然,这是因为pom.xml中引入的spring-boot-maven-plugin在打包时,帮助了我们。

简单的第三方接入

demo中,并没有涉及到第三方的一些框架,如ORM框架,消息组件框架等。但是,在我们以后的学习中,你会发现,使用SpringBoot,在接入第三方框架时,也是一样简单的另人舒适。基本上,一个相应的starter就可以搞定。

SpringBoot官宣

刚才,是我们自己总结的一些关于SpringBoot的优点,接下来,我们去看下SpringBoot的官宣,看看它是怎么自夸的。以下内容,从官方文档直译过来:

1.为所有Spring开发提供一个更快、更广泛的启动体验。

2.开箱即用,但当需求开始偏离默认值时,要迅速离开。

3.提供对大型项目类(如嵌入式服务器、安全性、度量、健康检查和外部化配置)常见的一系列非功能特性。

4.绝对不需要代码生成,也不需要XML配置。

5.这货英语是个渣渣。大家千万不要

1
查看完整版本: SpringBoot的优点,有哪些值得我