首页 > 科技 > Springboot——前世今生

Springboot——前世今生

本文主要讲述spring boot的由来,即其它诞生的背景,初衷,现状,及对未来的展望。

背景

在很早的年代,J2EE还是java企业级应用的王者规范,EJB风行其道。后来有一个叫Rod Johnson的音乐学博士,写了本《Expert One on one J2EE without EJB》,发明了spring,创办了interface21公司,给Java的企业级开发带来了一阵春风。

虽然物是人非,Rod早已离开Spring团队,但是我们有必要了解一下这位音乐大牛的程序生涯(到底是音乐大牛还是java大牛,我也是纠结了好几分钟,哈哈,本着娱乐的精神还是称之为音乐大牛)。Rod出身于澳大利亚,毕业于悉尼大学计算机科班,同时持有音乐学位。令人惊叹的是,Rod是一名音乐爱好者,为了对音乐的探索和追求,Rod获得了音乐学的博士学位,果然写程序是一门艺术(所以说:艺术源于生活嘛,我等搬砖党大概是体会不到这种境界的吧)。Rod曾今在保险,金融等领域从事技术顾问,同时积极参与JSR, JCP, JDO规范等,后居住于伦敦(ps:不会音乐的金融顾问不是好程序员)。

真正引起了人们的注意的,是在2002年Rod Johnson根据多年经验撰写的《Expert o-ne-on-One J2EE Design and Development》。其中对正统J2EE架构的臃肿、低效的质疑,引发了人们对正统J2EE的反思。这本书也体现了Rod Johnson对技术的态度,技术的选择应该基于实证或是自身的经验,而不是任何形式的偶像崇拜或者门户之见。正是这本书真正地改变了Java世界。基于这本书的代码,Rod Johnson创建了轻量级的容器Spring。Spring的出现,使得正统J2EE架构一统天下的局面被打破。基于Struts+Hibernate+Spring的J2EE架构也逐渐得到人们的认可,甚至在大型的项目架构中也逐渐开始应用。

Rod Johnson的作品《Expert o-ne-on-one J2EE Development without JEB》则更让人吃惊,单单“Without EJB”一词就会让大多数J2EE架构师大跌眼镜了。不过Rod Johnson可能仅仅是想通过“Without EJB”一词表明应该放开门户之见。这也是Rod Johnson一贯的作风。也许正是这种思想,促使Rod Johnson创建了Spring,真正改变了Java世界。

之后Spring势如破竹,跟随着互联网的兴起,占据着Java领域轻量级开发的王者地位。随着Java语言的发展,Spring也跟着推陈出新,比如Spring3支持了Java注解形式的配置,Spring4支持了java8,同时也推出了springboot。

初衷

推出springboot的初衷就是为了简化spring的配置,使得开发中集成新功能时更快,简化或减少相关的配置。

现状

目前springboot已经发展到2.0时代。主要有如下功能:

  • 自动配置(auto-configuration)

一项简化配置的功能,比如在classpath中发现有spring security的jar包,则自动创建相关的bean等

  • starters(简化依赖)

这个比较关键,方便spring去集成各类组件,比如redis、mongodb等等。

core(security、aop)

web(web、websocket、ws、vaadin、rest、mobile)

template(freemarker、velocity、groovy templates、thymeleaf)

data(jdbc、jpa、mongodb、redis、gemfire、solr、elasticsearch)

database(h2、hsqldb、mysql、postgresql)

social(facebook、linkedin、twitter)

io(batch、integration、jms、amqp)

ops(actuator、remote shell)

  • CLI(command-line interface),支持groovy开发
  • Actuator(对应用系统本身的自省功能)

这个有点devops的味道,使得应用程序本身可以做到自省,比如查看系统运行了多少线程,gc的情况,运行的基本参数等等。

展望

随着devops的兴起,以及docker技术的普及,微服务在一定场合会越来越受欢迎。即使不说微服务,springboot这种可以直接内嵌web服务器打成一个jar包的东东,也更符合devops的趋势:打成个jar包,往服务器上一扔,十分方便,外带自身带的actuator,把监控也给省了一大半,真正做到了可以把精力花在刀刃上。

以上是spring-boot前世今生(简单介绍)的全部内容。后续将以此为出发点分享关于springboot的一系列粗浅见解,还望多多指点。

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/2059074.html

setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)