4000-9696-28

为什么SpringBoot能集万千宠爱于一身?

2023年03月10日 13:29供稿中心:北大青鸟总部

摘要: SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。它的出现让程序猿们彻底的解放了双手,把所有的精力都投入到业务当中去。

在这个技术百花齐放、快速更迭的时代,程序猿们为了能跟上技术的推陈出新的节奏,纷纷熬没了头发

对于Java程序猿来讲更是深有体会,Java语言作为服务器端的“王者”,随着互联网的发展,为了满足跟中五花八门的业务,衍生出的各种框架,中间件技术等,这不最近又出来了一个的技术,不过这个技术不仅没有让程序猿们想要逃离,而是对它喜爱有加,它就是SpringBoot

它的出现让程序猿们彻底的解放了双手,把所有的精力都投入到业务当中去。今天咱么就来好好说道说道。



SpringBoot的前世今生

Spring框架

Spring: the source for modern java

Spirng: 现代java的起源

在正式开始介绍SpringBoot之前呢,首先必须要介绍下Spirng框架,相信所有的Java工程师对它应该比对自己的女朋友都要了解。

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,Spring是模块化的,允许你只是使用其中的一部分,不需要引入其他的。Spring设计为非侵入式的,意味着你的逻辑代码不依赖与框架本身。



曾几何时就在两年前,也许你还在用着SSH(Struts2、Spring、Hibernate)或者SSM(SpringMVC、Spring、Mybatis)框架,以为三大法宝在手,天下我有。

虽然他们都拥有这繁琐的配置,经常因为莫名其妙的配置问题,导致整个服务出现问题;但是最为一名专业的程序猿,我们依然乐此不疲的快乐coding

然而突然有一天,空中好像划过一道闪电--SpringBoot,它仿佛是广大程序猿的救星,从此程序猿们再也不用拼双手速了,过上了神仙眷侣的生活


SpringBoot到底是啥?

SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。通过这种方式,SpirngBoot致力于在蓬勃发展的快速应用开发领域成为领导者。

需要说明的是Spring Boot并不是一个框架,从本质上讲,它就是一堆技术的集合,因为提供了基础的平台,任何技术想要集成进来只需要添加依赖即可。



为什么程序猿们如此的迷恋SpirngBoot

SpringBoot的特点

首先我们先看下SpringBoot有哪些特点,足以让我们的广大程序员为之倾倒

创建独立的Spring应用程序

嵌入式的Tomcat,Jetty或Undertow(无需部署WAR文件)

提供基础的“Sstater”入门依赖项,以简化构建配置

尽可能自动配置Spring和3rd Party库

完全没有代码生成,也不需要XML配置

....

以上任何一个特点都足以让我们为之兴奋,特别是嵌入式的Tomcat、不需要任何XML的配置。简直就是专为Java程序员而生,Java程序员苦xml久已。


SpringBoot的优势

当我们在进行传统的SSM开发的时候,会有一些比较繁琐的步骤

配置web.xml、Spring.xml的配置和SpringMVC.xml

配置数据源、事物、注解驱动

配置加载配置文件等

。。。

所有的这一切,在使用SpringBoot的时候都可以完全和他们Say goodbye了,接下来就让我们进入SpringBoot的世界。


SpingBoot之初体验

刚才把SpringBoot从里到外夸了一遍,接下来就是”见证奇迹的时刻“

通过IDEA的 Spring Initalizr构建SpringBoot工程

直接File --> New --> Project创建一个项目



选择Spring Initalizr通过SpringBoot官方提供的项目模板构建



这里直接填下maven坐标,打包方式必须选择jar,jdk版本8以上,其他报名项目名可以自己改



这里我们选择web依赖,因为我们要构建一个web项目,其实就是把SpringMVC的相关的依赖加入进来,这样我们就可以直接使用SpringMVC了,不在需要额外的配置



填写项目名称,点击Finish完成



这里会默认生成的SpringBoot项目我可以看到SpringBoot最标准的结构

• 主程序也会默认生成了,我们只需要我们自己的逻辑

• resources文件夹中目录结构

– static:保存所有的静态资源; js/css/ images等文件

– templates:保存所有的模板页面 ,模板引freemarker、thymeleaf

– application.properties:Spring Boot应用的配置文件;可以修改一些默认设置,如:默认的端口是8080



我们来看下他的pom.xml文件里比较重要的几个依赖,

起步依赖,包含了很多基础的依赖项,

web依赖,这个就相当于把SpringMVC加进来

<parent>
<!--SpringBoot起步依赖,任何SpringBoot工程都有-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starte-rparent</artifactId>
<version>2.1.5.RELEASE</version>
</parent>

<dependency>
<!--构建web工程需要的依赖-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

接下来我们就来写一个Controller来体验一下SpringBoot简单

/**
* SpringBoot之初体验
*/
@RestController
public class DemoController {

@GetMapping("/hello")
public String hello() {
return "Hello SpringBoot!!!";
}
}

直接运行主启动类



当你看到如下的画面,就说明你的SpringBoot工程已经启动成功了



接下来我们就来测试一下吧,当我们看到浏览器给我们的响应时,就说明我们的项目成功了。此时端口默认是8080



是不是很简单呢,构建一个web就需要添加一个web依赖就可以了。妈妈再也不用担心我的头发了

这次内容主要给大家科普下SpringBoot的前世今生,以及它的特点和优势,最后通过一个SpringBoot的demo演示了如何去构建一个简单的SpringBoot工程。让大家体验了一下SpringBoot的快速构建项目的能力。


标签:
关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。