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

Springboot系列1_什么是Springboot的更多相关文章

  1. SpringBoot系列十二:SpringBoot整合 Shiro

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Shiro 2.具体内容 Shiro 是现在最为流行的权限认证开发框架,与它起名的只有最初 ...

  2. springboot系列(十)springboot整合shiro实现登录认证

    关于shiro的概念和知识本篇不做详细介绍,但是shiro的概念还是需要做做功课的要不无法理解它的运作原理就无法理解使用shiro: 本篇主要讲解如何使用shiro实现登录认证,下篇讲解使用shiro ...

  3. springboot系列(八)springboot整合mybatis

    本篇介绍一下在springboot中整合mybatis ,使用mysql数据库,集成durid 连接池技术,全部代码是手动生成,没有使用代码生成器来构建代码. 一.创建数据库和表 二.在pom中添加依 ...

  4. springboot系列(四)springboot 配置

    在springboot出现之前,spring项目会存在多个配置文件,如web.xml,配置spring的多个spring-xxx.xml,xxx代表配置spring的某一功能,如aplication- ...

  5. SpringBoot系列:五、SpringBoot使用Actuator

    Actuator为springboot提供了运行状态监控的功能 通过集成它我们可以试试获取到应用程序的运行信息 首先,在pom.xml中引入起步依赖 <dependency> <gr ...

  6. SpringBoot系列:三、SpringBoot中使用Filter

    在springboot中要使用Filter首先要实现Filter接口,添加@WebFilter注解 然后重写三个方法,下图示例是在Filter中过滤上一届中拿配置的接口,如果是这个接口会自动跳转到/P ...

  7. SpringBoot系列:二、SpringBoot的配置文件

    SpringBoot的配置文件在resources文件夹下 springboot的配置文件支持两种形式的写法,一种是经典的properties另一种是yml yml通过空格缩进的形式来表示对象的层级关 ...

  8. SpringBoot系列:一、SpringBoot搭建

    打开IDEA,新建一个spring工程,然后无脑下一步就行. 新建完成后的目录结构 java文件夹下是java源码 resources下是配置文件 test下是测试文件 添加web模块支持,在pom. ...

  9. springboot系列总结(一)---初识springboot

    Spring Boot是一个简化Spring开发的框架.用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用. 一说springboot ,Java ...

随机推荐

  1. JSON —— 序列化与反序列化

    1.JSON 反序列化 JSON 序列化:将服务器端的 JavaBean 对象转换成 JSON 字符串 JSON 反序列化:服务器端得到一个 JSON 字符串,然后将 JSON 字符串转换 JavaB ...

  2. 纯手动拉WebPanel页面保存出现错误提示 "error:字符文本中的字符太多"

    环境为.Net 没有使用WorkWithPlus 纯手拉WebFrom页面  问题出现情况如下:在拉页面的过程中拖了3个Value类型的变量到Table中 页面如下 但是在我保存的时候 发现提示如下错 ...

  3. 一、简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏

    一.简单的移动端tab头部二级下拉导航栏,向下弹出,向上隐藏 <html lang="en"> <head> <meta charset=" ...

  4. USB接口外壳地和信号地间的处理

    USB外壳地和信号地之间串接1M电阻,并且还接一个0.01uf的电容到信号地,能否将一下这样处理的原理和目的: 1.将影响外壳的噪音滤除,不影响信号地: 2.迫使板子上电流是流入内部的信号地,而不是流 ...

  5. "=="、equals、hashCode之间的区别

    1. "=="分为两种情况: (1) 基本数据类型,比较的是其对应的值是否相等: (2) 引用类型,比较的是他们在内存中存放的地址(或者说,是否指向同意对象). 2. equals ...

  6. phpstorm 开发php入门

    环境:ubuntu  phpstorm apache mysql 一.安装软件 安装apache服务器 https://i.cnblogs.com/EditPosts.aspx?postid=1113 ...

  7. JSP相关学习

    动态页面技术(JSP/EL/JSTL) <!-- jsp的三种脚本方式 --> <% int i = 5; //这是单行注释 /*这是多行注释*/ %> <%=i%> ...

  8. jupyter notebook 几个方法

    2. Pretty Display of Varibles 这部分内容可能很多人都知道.如果对带有一个变量或是未赋值语句的cell执行操作,Jupyter 将会自动打印该变量而无需一个输出语句. 如果 ...

  9. pugixml的使用

    VS项目,头文件处鼠标右键,添加“新建筛选器”,重命名为pugixml,把3个文件添加进来.在用到框架的文件中只需#include"pugixml\pugixml.hpp"即可. ...

  10. Spring Transaction Propagation

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11530611.html REQUIRED behavior Spring REQUIRED behav ...