1、不用Spring Boot的痛苦是什么?

(1)各种技术整合在一起,版本混乱,大量依赖自己去找,依赖冲突

(2)基于xml格式的配置文件,对各种技术框架进行大量的繁琐配置,mvc-servlet.xml,applicationContext.xml,mybatis-config.xml,web.xml

(3)web系统跑起来测一下,需要与tomcat等web容器整合起来才能测试

(4)单元测试的时候需要自己去选择和导入需要的各种测试组件的依赖,junit,hamcrest,mockito,很多组件

(5)部署打包的时候需要自己去配置打包插件

(6)部署应用上线之后,没法去对线上的应用,包括jvm堆栈等方方面面进行监控,没有方便的办法去看到这些东西

传统的以spring为核心的web系统开发,从启动项目、开发、测试、部署以及监控,都很麻烦,有大量需要手工做的事情

2、用了Spring Boot以后的好处是什么?

spring社区意识到了这些问题,开发人员一定是最讨厌繁琐的,希望的都是用技术提高工作效率。因此推出了spring boot框架,作为开发spring项目的一个脚手架,脚手架,类似于一个封装在各种技术之上的一个基础框架,基础模板。脚手架帮助我们快速整合需要使用的技术框架,快速开发、测试以及部署和监控,节约我们的成本。如果没有spring boot,很多公司,特别是一些大公司,会将spring mvc 、mbatis、spring这些框架再度根据自己公司的开发经验、规范和实际情况,再度封装,进一步简化每个新项目使用框架的一个成本

Spring Boot是spring官方社区推出的,设计思想,架构思想,是更好的,更加优雅的

(1)spring boot负责统一各个依赖的版本,保证各种技术的版本之间兼容,自动引入需要的各种依赖。spring boot 1.5.9,在这个版本基础之上,你引入的spring、mybatis、spring mvc、redis、zookeeper、kafka、mongodb,等等各种技术,在spring boot1.5.9这个大版本的基础之上,其实所有技术的版本都是互相兼容的,省去了我们自己去寻找版本整合,解决不兼容问题的一个过程

(2)所有技术整合进来之后,不需要xml配置,spring boot全部是大量基于按照约定的自动配置,自动生成那些技术相关的一些bean,注入spring容器供使用,基于注解进行少量注释,基于application.properties,少量的配置即可

(3)spring boot支持内嵌的web容器,上来直接启动一个main方法就可以启动一个内嵌的tomcat web容器+web程序,快速上手测试,http://localhost:8080/

(4)一键引入需要的所有单元测试组件依赖,所有测试组件的版本兼容,支持controller、service、dao各种测试

(5)默认声明一个插件,自己给你把插件配置好了,支持打包成可以执行的jar包或者是war包

(6)系统上线之后,默认支持大量的线上应用的监控metrics,可以看到线上应用的jvm堆栈,等等信息

不用Spring Boot的痛苦是什么?用了Spring Boot以后的好处是什么?的更多相关文章

  1. step6----->往工程中添加spring boot项目------->修改pom.xml使得我的project是基于spring boot的,而非直接基于spring framework

    文章内容概述: spring项目组其实有多个projects,如spring IO platform用于管理external dependencies的版本,通过定义BOM(bill of mater ...

  2. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  3. Spring Boot(十六):使用Jenkins部署Spring Boot

    Spring Boot(十六):使用Jenkins部署Spring Boot jenkins是devops神器,介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署 ...

  4. (36)Spring Boot Cache理论篇【从零开始学Spring Boot】

    Spring Boot Cache理论篇 在上一篇中我们介绍了Spring Boot集成Redis的实战例子,里面使用到了Spring Cache,那么什么是Spring Cache呢,本章将会做一个 ...

  5. 57. Spring 自定义properties升级篇【从零开始学Spring Boot】

    之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...

  6. Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

    我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实 ...

  7. Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...

  8. 一个很有趣的示例Spring Boot项目,使用Giraphe CMS和Spring Boot

    6: 这是一个很有趣的示例Spring Boot项目,使用Giraphe CMS和Spring Boot. Giraphe是基于Spring Boot的CMS框架. https://github.co ...

  9. 深入Spring Boot:那些注入不了的Spring占位符(${}表达式)

    Spring里的占位符 spring里的占位符通常表现的形式是: <bean id="dataSource" destroy-method="close" ...

随机推荐

  1. bzoj2037 Sue的小球(区间dp,考虑到对未来的贡献)

    ​​​​​​​​​​​​​​大致意思就是现在你要不断的奔跑到不同的地点去接球,每一秒可以移动一个单位长度,而你接到一个球的动作是瞬间的,收益是y[i]-t*v[i] 然后呢,要求分数最高. 起初看这个 ...

  2. CAM对象样式表

    CAM对象样式表 121 160 UF_machining_task_type UF_mach_order_task_subtype 112 UF_machining_null_grp_type 无 ...

  3. TreeSet和TreeMap中“相等”元素可能并不相等

    TreeSet和TreeMap元素之间比较大小是借助Comparator对象的compare方法. 但有些时候,即便compare()返回0也不意味着这两个元素直观上相同. 比如元素是二元组[a,b] ...

  4. elasticsearch的索引操作

    1.创建索引(test_index) curl -XPUT "http://192.168.99.1:9200/test_index" 2.创建索引,指定分片和副本的数量 curl ...

  5. 【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)

    简介 学习Redis Cluster的第一步,即本地搭建Redis Cluster.但是在Redis的官方文档中,是介绍在Linux系统中搭建Redis Cluster.本文主要介绍在Windows系 ...

  6. Spring Security:Authorization 授权(二)

    Authorization 授权 在更简单的应用程序中,身份验证可能就足够了:用户进行身份验证后,便可以访问应用程序的每个部分. 但是大多数应用程序都有权限(或角色)的概念.想象一下:有权访问你的面向 ...

  7. 【代码更新】单细胞分析实录(20): 将多个样本的CNV定位到染色体臂,并画热图

    之前写过三篇和CNV相关的帖子,如果你做肿瘤单细胞转录组,大概率看过: 单细胞分析实录(11): inferCNV的基本用法 单细胞分析实录(12): 如何推断肿瘤细胞 单细胞分析实录(13): in ...

  8. Educational Codeforces Round 114 (Rated for Div. 2)题解

    还是常规的过了A,B,C还是在D上卡了... D. The Strongest Build 简化题意:给定你n组东西,每组东西都有\(c_i\)个装备,每个装备有一个武力值\(a_{i,j}\),要求 ...

  9. Piakchu之RCE漏洞

    一.Ping(远程系统命令执行) 首先正常输入一个ip,查看页面的返回值.发现有乱码,但是能看出执行了ping命令. 查看源代码,可以看到只是对操作系统进行了判断,而对输入内容是否为ip地址并没有判断 ...

  10. 第一篇:《Kubernetes 入门介绍》

    前言:本文是一篇 kubernetes(下文用 k8s 代替)的入门文章,将会涉及 k8s 的技术历史背景.架构.集群搭建.一个 Redis 的例子,以及如何使用 operator-sdk 开发 op ...