作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏: 七七的闲谈
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖
SpringBoot
Spring Boot
是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
1. 发展沿革
2013年,Pivotal团队开始研发SpringBoot。
2014年4月,发布全新开源的轻量级框架的第一个SpringBoot版本。
量级框架
轻量级框架一般
由struts,spring组成
,侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。
轻量级框架是相对于重量级框架的一种设计模式:轻量级框架不带有侵略性API,对容器也没有依赖性,易于进行配置,易于通用,启动时间较短。 这是轻量级框架相对于重量级框架的优势。
Spring就是一个轻量级框架,Spring的特点是:
- 设计良好的分层结构。
- 以IOC为核心,提倡面向接口编程。
- 良好的架构设计。
- 可以代替EJB
- 实现了MVC
- 可以和其他框架良好的结合如:Hibernate ,struts等
2. 相关介绍
Spring框架
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。
Spring框架为开发提供了一系列的解决方案,比如利用
控制反转的核心特性
,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。
Spring框架
具有控制反转(IOC)特性
,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过
扫描XML文件或类上特定Java注解来配置对象
,开发者可以通过依赖查找或依赖注入来获得对象。
Spring框架具有
面向切面编程(AOP)框架
,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。
Spring框架下的事务管理、远程访问等功能均可以通过
使用SpringAOP技术实现
。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。
Spring集成多种事务模板
,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。
Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅
对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持
,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。
Spring框架最初是没有打算构建一个自己的
WebMVC框架
,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。
Spring Boot程序框架
数据对象
数据对象是必须由软件理解的复合信息表示。
数据对象可能是外部实体、事物、偶发事件或事件、角色、组织单位、地点或结构等。
例如,一个人或一部车可以被认为是数据对象,在某种意义上它们可以用一组属性来定义。数据对象描述包括了数据对象及其所有属性。
数据对象只封装数据(没有对数据的操作)。
3. 特点
SpringBoot基于Spring4.0设计,不仅
继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。
另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的
JARs和WARs
;
(2)内嵌
Tomcat或Jetty等Servlet容器
;
(3)提供自动配置的
“starter”项目对象模型
(POMS)以简化Maven配置;
(4)尽可能自动配置
Spring容器
;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置
Spring Boot核心组件
4. 重要策略
SpringBoot框架中还有两个非常重要的策略:开箱即用和约定优于配置。开箱即用,Outofbox,是指在开发过程中,通过在MAVEN项目的pom文件中添加相关依赖包,然后使用对应注解来代替繁琐的XML配置文件以管理对象的生命周期。这个特点使得开发人员摆脱了复杂的配置工作以及依赖的管理工作,更加专注于业务逻辑。约定优于配置,
Convention over configuration
,是一种由SpringBoot本身来配置目标结构,由开发者在结构中添加信息的软件设计范式。这一特点虽降低了部分灵活性,增加了BUG定位的复杂性,但减少了开发人员需要做出决定的数量,同时减少了大量的XML配置,并且可以将代码编译、测试和打包等工作自动化。
SpringBoot应用系统开发模板的基本架构设计从前端到后台进行说明:
前端常使用模板引擎
,主要有FreeMarker和Thymeleaf,它们都是用
Java语言编写的
,渲染模板并输出相应文本,使得界面的设计与应用的逻辑分离,同时前端开发还会使用到Bootstrap、AngularJS、JQuery等;在浏览器的数据传输格式上采用Json,非xml,同时提供
RESTfulAPI;SpringMVC框架
用于数据到达服务器后处理请求;到数据访问层主要有
Hibernate、MyBatis、JPA等持久层框架
;数据库常用
MySQL
;开发工具推荐IntelliJIDEA。
框架图:
5. 安装步骤
从最根本上来讲,
Spring Boot就是一些库的集合
,它能够被任意项目的构建系统所使用。简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以
在Spring仓库中手动下载和安装
。一种更为简便的方式是使用Groovy环境管理器(Groovy enVironment Manager,GVM),它会处理Boot版本的安装和管理。
Boot及其CLI可以通过GVM的命令行gvm install springboot进行安装。在OS X上安装Boot可以使用Homebrew包管理器。为了完成安装,首先要使用brew tap pivotal/tap切换到Pivotal仓库中,然后执行
brew install springboot
命令。
要进行打包和分发的工程会依赖于像Maven或Gradle这样的构建系统。为了简化依赖图,Boot的功能是模块化的,通过导入Boot所谓的“starter”模块,可以将许多的依赖添加到工程之中。为了更容易地管理依赖版本和使用默认配置,框架提供了一个p
arent POM
,工程可以继承它。
6.七七赠书活动
七七赠书第一期
从大师视角诠释计算常识做一个穿行于数字世界与现实世界的智者
普林斯顿计算机公开课
本书篇幅不大,但对计算机和通信系统如何工作进行了详细和透彻的解释。本书展示了当今的计算和通信世界是如何运作的,从硬件到软件,再到互联网和Web。本书也讨论了新技术带来的社会、政治和法律问题(虽然主要是从美国的角度),由此你可以理解我们所面临的难题,并理解为了解决它们所必须做出的权衡。
本书作者布
莱恩·W.柯尼汉(Brian W. Kernighan)
教授是计算机领域的著名学者和先驱。关于布莱恩教授,人们耳熟能详的一个传奇是,他与C语言的发明者丹尼斯·里奇(Dennis Ritchie)合著的The C Programming Language一书
被奉为C程序设计语言的经典之作
。之后,许多编程语言教程中的第一个示例都是打印出一句“Hello,World!”,就像在用编程语言这一计算机语言向世界问好,这个示例就是布莱恩教授首创的。布莱恩教授在大名鼎鼎的贝尔实验室工作了30年左右,见证了UNIX这一伟大的操作系统的诞生,并做出了卓越贡献。他还与人合作完成了著名的图划分问题和旅行商问题的算法,也是AWK和AMLP两门编程语言的设计者之一。其中任何一项成就都足以让人倍感荣耀,但布莱恩教授的成就远不止这些。在这之后他任职于普林斯顿大学计算机科学系,并开设了一门名为“
我们世界中的计算机
”(Computers in Our World)的课程,介绍计算机、通信、互联网、数据等方面的核心知识和其中的隐私、安全等问题。这本书便是这门课程使用的教学材料。
参与方式
⭐本次活动一共赠书3本,评论区抽取3位小伙伴免费送出!!
⭐参与方式:关注博主、点赞、收藏、评论区评论 “ 计算机公开课我最行 ”(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!!!)
⭐ 活动截止时间:2023-06-24 21:00:00
⭐通知方式:私信通知
关于【SpringBoot】SpringBoot的发展沿革,相关介绍,特点,重要策略以及安装步骤讲解,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!💕💕
版权归原作者 辭七七 所有, 如有侵权,请联系我们删除。