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. java 日期工具

    package com.neuxa.is.workflow.utils; import java.sql.Timestamp;import java.text.DateFormat;import ja ...

  2. Android手机、电视(盒子) 打开ADB调试 一览表

    手机.电视(盒子) 打开ADB调试 一览表 一.手机打开ADB调试方法 序号 名称 描述 方式 1 华为手机 EMUI 1.设置 ->关于手机-> 版本号 点击(4~5次)2.返回设置 - ...

  3. [转载]Redux原理(一):Store实现分析

    写在前面 写React也有段时间了,一直也是用Redux管理数据流,最近正好有时间分析下源码,一方面希望对Redux有一些理论上的认识:另一方面也学习下框架编程的思维方式. Redux如何管理stat ...

  4. 数据结构 java概况

    数据结构可以分为三种结构: 线性结构: 数组:栈:队列:链表:哈希表 树结构: 二叉树,二分搜索树,AVL,红黑树,Treap,Splay,堆,Trie,线段树,K-D树,并查集,哈夫曼树 图结构 邻 ...

  5. No enclosing instance of type TestGson is accessible. Must qualify the allocation with an enclosing instance of type TestGson (e.g. x.new A() where x is an instance of TestGson).

    main方法中实例化内部类报错: public class TestGson { public static void main(String[] args) { Gson gson=new Gson ...

  6. canvas 绘制三次贝塞尔曲线

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  7. Codeforces 958C3 - Encryption (hard) 区间dp+抽屉原理

    转自:http://www.cnblogs.com/widsom/p/8863005.html 题目大意: 比起Encryption 中级版,把n的范围扩大到 500000,k,p范围都在100以内, ...

  8. Java EE会话技术Cookie和Session

    会话技术 一.定义 会话技术是帮助服务器记住客户端状态的(区分客户端的).将客户访问的信息存在本地的叫Cookie技术,存在服务器上的叫Session技术. 注意: 一次会话何时开始?从打开一个浏览器 ...

  9. 安装Windows与CentOS双系统

    1.安装Windows系统 安装过程除了分区时要预留出部分空间来安装CentOS之外,其它操作与正常安装一样. 2.安装CentOS系统 使用光盘引导安装,因安装为服务器版,建议选择无界面,最小化安装 ...

  10. Shell输入命令时一些有用的快捷键

    Ctrl + u: 从光标所在位置一直删除到开头 Ctrl + k: 从光标所在位置一直删除到尾 Ctrl + b: 光标向后移动一个字符 Ctrl + f: 光标后前移动一个字符 Alt + b: ...