Springboot系列1_什么是Springboot

*/-->

code {color: #FF0000}
pre.src {background-color: #002b36; color: #839496;}

Springboot系列1_什么是Springboot

现在Springboot变得越来越热门了,那么,什么是Springboot呢?

1 远古时代

话说,在Java很早的时候,还没有任何框架。人们完成工作,都是靠一个一个的对象定义,然后,对象使用对象,完成所有的任务。这样的问题就是,对象和对象之间的耦合比较厉害,耦合之后,就不方便重用。

2 新石器时代

于是,有人就开始做分离工作。分离无外乎两种,一种垂直切分,一种水平切分。切完之后,做一个框架,然后,把对象一个一个塞在里面就完成了整体的功能。就好像原来的电脑,所有的配件都是焊死在主板上的,后来就设计了各种卡槽,然后,把各种不同的配件单独设计,需要时可以按照需要进行组合插拔。EJB就是最早的这样一个框架,它是上个世纪框架的统治者。

但它的统治之下,大家发现还是很麻烦,主要是太笨重了,所有的配件都要配一遍。

3 蒸汽机时代

于是,在2004年的时候,有人推出了Spring。Spring采用一种简单轻便的方式来组织对象。就好比,原来是EJB是笨重的巨型机,Spring是轻便的组装台式机。我们需要多高频率的CPU、多大的内存、多大的硬盘,我们只需要一个一个的去生产或购买,然后我们手动一个一个的把这些组件按照指定的接口插上去就可以使用了。
这一切看起来已经很美好了,但,就和电脑的发展一样。经过十来年的发展,大家都对这种每次自己一个一个安装电脑配件的方式感到腻烦了。能不能只需要生成或者购买配件,然后,自动帮我们组装好电脑?而不需要每次都自己去把每一个配件安装到对应的卡槽里面去?

4 电气时代

在大概2014年的时候,推出Spring的那帮人又推出了Springboot。它就提供了自动的装配功能,只要给它CPU、内存、硬盘,它就会自动根据各自的卡槽类型把这些配件安装好。那么,当我们每一个配件都只有一个的时候,是很容易就安装好了的。那么,当有多个同类的配件,比如有几块内存,怎么才能安装到正确的位置上去。或者,我们能不能选择部分手动安装呢?这个是完全可行的。只需要编写少量配置代码就可以了。

另外,我们代码的依赖包,就和生成配件需要的电器件一样,需要逐个去选择,现在也有套餐形式。比如,原来Spring生产一个CPU,需要定义使用多个的电阻、多大的电容等。现在Springboot就只需要指定,需要生成CPU,它就会自动把生产CPU所需的配件配齐了。

5 结论

所以,对于还没有使用Springboot,或者还在犹豫是使用Spring还是使用Springboot?计较它们有什么区别?的同学们,不要多想了,赶快使用Springboot吧。

Date: 2017-06-17 21:26

Created: 2017-06-17 周六 22:36

Emacs 25.2.1 (Org mode 8.2.10)

Validate

最新文章

  1. *HDU1847 博弈
  2. Android开发-之环境的搭建
  3. jQuery插件之Cookie插件使用方法~
  4. 开启win7系统关闭日志分析
  5. sql server 日期相关操作
  6. LTE Module User Documentation(翻译8)——核心网(EPC)
  7. 用Wireshark提取WPA握手包
  8. Mac 如何恢复出厂设置
  9. 八大Webkit内核浏览器
  10. java连接oracle数据库的实现代码
  11. linux配置jdk环境详解
  12. hdu 5726 GCD 倍增+ 二分
  13. Windows Phone 8初学者开发—第22部分:用演示图板创建卷盘的动画
  14. 远程连接mysql数据库,1130问题
  15. 我想操作的是利用SqlDataAdapter的几个Command属性(InsertCommand,UpdateCommand,DeleteCommand)来更新数据库
  16. 《剑指offer》二叉树的深度
  17. 1. 做node项目 (第二个月)
  18. 配置DispatcherServlet应该写/还是/*
  19. 条件分支语句(SWICH语句)
  20. 微信小程序:java后台获取openId

热门文章

  1. form表单,登录用户,密码,按钮,提交、重置
  2. zabbix3.0自动发现磁盘并监控磁盘IO
  3. Intellij IDEA插件
  4. linux的定时任务--crontab
  5. new和malloc申请内存失败后的处理
  6. Codeforces 963B Destruction of a Tree 思维+dfs
  7. JAVA 利用 jmc或jvisualvm 监控 本地或者远程JVM
  8. 禁止打开 F12 开发者工具
  9. python-字符、字符串、函数处理
  10. Angular JS - 9 - SeaJS加载js模块