声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅。

长期以来 Java 的开发一直让人所诟病:

·Java 项目开发复杂度极其高;

· Java 项目的维护非常困难;

· 在云时代如何实现项目的快速部署以及快速启动;

· 即便使用了大量的开发框架,发现我们的开发也没少多少;

· 当所有的人认为 Spring 不在前进的时候,Spring 推出了微架构实现的两个重要开发框架:SpringBoot、SpringCloud。

1、 Java 开发的复杂度是最高的?

在所有的软件行业里面,如果要说商用体系,排在第一位的永远是 java,因为 java 的体系丰富,支持度高,安全性也高,但是同时我们所有的开发者也不得不去忍受 Java 中的以下痛苦:

· Java 里面提供的开发支持都属于原生操作代码,例如:JDBC 为例,如果使用 Java 原生代码会重复编写大量的内容, 例如:PreparedStatement 操作;

· Java 进行 WEB 项目开发的时候,必须要求按照严格的格式进行 WEB 项目的创建,以及每当修改 WEB 程序的时候 又需要进行 Tomcat 的重新启动;

· Java 之中虽然提供了所谓的开发标准,但是所有的公司几乎都有可能有自己的标准,例如:最初的时代 JVM 的标准 就有三个,而且许多的公司由于版本不同会造成部署的环境不同;

· Java 里面严格要求按照 MVC 的设计模式。

· 以 WEB 开发为例,一个良好的 JSP 程序代码里面不应该包含有任何的 Scriptlet 程序代码,但是要想做到这一步发现 非常麻烦,有各种实现标准,例如:JSTL + EL、SpringTaglib、StrutsTaglib、JSF、Shiro、SpringSecurity;

· 如果现在使用 Node.JS、Python 开发一个控制器程序类可能只需要几行代码,而 Java 要想开发这样一个程序,需要写 一堆的代码,而且还要求搞部署;

2、 Java 后期的发展使用了大量的 Maven 技术作为开发,那么使用了 maven 之后你会发现传统的开发处理之中并没有逃离掉传统 WEB 的身影,所有的项目依然需要打包为 war 文件,而后上传到系统之中。使用 Maven 还有一个最大的痛:如果是开发框架,那 一堆的 Maven 的配置依赖库。

3、 Rest 技术已经开始在行业之中广为流传,而 Java 要想实现 Rest 架构的开发(基于:Spring),那么也是相当麻烦的;

4、 现在行业之中,Spring 已经作为了绝对的 java 架构,但是如果要想在 Spring 之中整合 RabbitMQ、Kafka、ActiveMQ、MySQL、 Druid、Redis、Shiro,需要编写一堆堆的*.xml 配置文件; 所以在这样的一个大的历史背景下,很多人开始寻求更加简便的开发,而遗憾的是这种简便的开发没有被 JDK 所支持、没有 被 JavaEE 所支持,因为这些只是平台,平台能够提供的只是最原始的技术支持。这一时刻终于由于 Spring 框架的升级而得到了新 生,SpringBoot 的出现,改变了所有 Java 开发的困境,SpringBoot 的最终奉行的宗旨:废除掉所有复杂的开发,废除掉所有的配置文件,让开发变得更简单纯粹,核心:“零配置”。

总结:

SpringBoot 的最终奉行的宗旨:废除掉所有复杂的开发,废除掉所有的配置文件,让开发变得更简单纯粹,核心:“零配置”。

SpringBoot整合了所有的框架,就像maven整合了所有的jar一样,使用方便

SpringBoot 之所以慢慢可以火遍全世界,是因为在 SpringBoot 中使用的大量注解还是之前 Spring 所提供的注解,那么这一点
让所有的开发者几乎可以零适应进行完整过渡。其次是开发快速、简单、方便

SpringBoot系列一:SpringBoot的产生的更多相关文章

  1. Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程(附源码)

    前言 由于在开发My Blog项目时使用了大量的技术整合,针对于部分框架的使用和整合的流程没有做详细的介绍和记录,导致有些朋友用起来有些吃力,因此打算在接下来的时间里做一些基础整合的介绍,当然,可能也 ...

  2. SPRING-BOOT系列之SpringBoot快速入门

    今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...

  3. SPRING-BOOT系列之SpringBoot的诞生及其和微服务的关系

    转载自 : https://www.cnblogs.com/ityouknow/p/9034377.html 微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法 ...

  4. springBoot系列教程07:异常捕获

    发生异常是很正常的事,异常种类也是千奇百怪,发生异常并不可怕,只要正确的处理,并正确的返回错误信息并无大碍,如果不进行捕获或者处理,分分钟服务器宕机是很正常的事 所以处理异常时,最基本的要求就是发生异 ...

  5. SpringBoot系列——利用系统环境变量与配置文件的分支选择实现“智能部署”

    前言 通过之前的博客:SpringBoot系列——jar包与war包的部署,我们已经知道了如果实现项目的简单部署,但项目部署的时候最烦的是什么?修改成发布环境对应的配置!数据库连接地址.Eureka注 ...

  6. 补习系列(15)-springboot 分布式会话原理

    目录 一.背景 二.SpringBoot 分布式会话 三.样例程序 四.原理进阶 A. 序列化 B. 会话代理 C. 数据老化 小结 一.背景 在 补习系列(3)-springboot 几种scope ...

  7. 补习系列(14)-springboot redis 整合-数据读写

    目录 一.简介 二.SpringBoot Redis 读写 A. 引入 spring-data-redis B. 序列化 C. 读写样例 三.方法级缓存 四.连接池 小结 一.简介 在 补习系列(A3 ...

  8. 补习系列(12)-springboot 与邮件发送

    目录 一.邮件协议 关于数据传输 二.SpringBoot 与邮件 A. 添加依赖 B. 配置文件 C. 发送文本邮件 D.发送附件 E. 发送Html邮件 三.CID与图片 参考文档 一.邮件协议 ...

  9. Springboot 系列(十二)使用 Mybatis 集成 pagehelper 分页插件和 mapper 插件

    前言 在 Springboot 系列文章第十一篇里(使用 Mybatis(自动生成插件) 访问数据库),实验了 Springboot 结合 Mybatis 以及 Mybatis-generator 生 ...

  10. Springboot 系列(九)使用 Spring JDBC 和 Druid 数据源监控

    前言 作为一名 Java 开发者,相信对 JDBC(Java Data Base Connectivity)是不会陌生的,JDBC作为 Java 基础内容,它提供了一种基准,据此可以构建更高级的工具和 ...

随机推荐

  1. (转)Making 1 million requests with python-aiohttp

    转自:https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html Making 1 millio ...

  2. SM2椭圆曲线公钥密码算法

    国家必须要有属于自己的一套加密机制才行...好复杂.分享下看哪位看得懂其中的原理 国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统.密 ...

  3. Git GUI中文乱码问题解决方法

    使用Git GUI的查看代码的时候,会出现中文乱码: 在乱码的区域点击鼠标右键,选择Encoding,然后选择Unicode(UTF-8),乱码问题解决:

  4. Python3.5爬取cbooo.cn数据并且同步到mysql中

    #!/usr/local/bin/python # -*- coding: utf-8 -*- # Python: 3.5 # Author: wucl(),zhenghai.zhang # Prog ...

  5. Lintcode: Interleaving Positive and Negative Numbers 解题报告

    Interleaving Positive and Negative Numbers 原题链接 : http://lintcode.com/zh-cn/problem/interleaving-pos ...

  6. LeetCode: Merge Two Sorted Lists 解题报告

    Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list shoul ...

  7. python 获取环境变量

    python 获取环境变量 参考 https://docs.python.org/2/library/os.html 使用os.environ获取环境变量字典 import os env_dist = ...

  8. 09Vue.js快速入门-Vue入门之Vuex实战

    9.1. 引言 Vue组件化做的确实非常彻底,它独有的vue单文件组件也是做的非常有特色.组件化的同时带来的是:组件之间的数据共享和通信的难题. 尤其Vue组件设计的就是,父组件通过子组件的prop进 ...

  9. C#学习笔记(19)——使用IComparer(百度文库)

    说明(2017-7-24 19:15:15): 1. 百度文库里的一篇文章,觉得讲的比较好.原文地址:https://wenku.baidu.com/view/b53cd250ad02de80d4d8 ...

  10. composer概念学习

    composer的中文文档地址 Composer是什么 Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. Composer 不是一个包管 ...