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堆栈,等等信息

最新文章

  1. 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
  2. OpenGL角轴
  3. HR常用事务代码
  4. 基础R绘图
  5. 【leetcode】Scramble String
  6. Adobe Flash Media Server安装
  7. Android -- 使用ViewPager实现画廊效果
  8. win server 2008配置ftp无法登陆问题的解决办法
  9. hdu 1885 Key Task (三维bfs)
  10. Ajax-数据格式-html
  11. Android ADB启动失败 ADB server out of date
  12. redhat ping不通外网的解决办法
  13. ubuntu 安装python,easy_install和pip
  14. PHP定义字符串的四种方式
  15. [MySQL Status] Queries,Questions,read/s区别,Com_Commit和handle_commit
  16. nvm 安装使用
  17. 『TensorFlow』SSD源码学习_其七:损失函数
  18. Linux大文件分割splite
  19. 13、通过Docker-compose快速搭建Wordpress
  20. 如何将一个项目打成war包?

热门文章

  1. iOS Swift结构体与类的方法调度
  2. 洛谷3783 SDOI2017 天才黑客(最短路+虚树+边转点+线段树优化建图)
  3. Spring Boot 如何热加载jar实现动态插件?
  4. 分布式系统ID
  5. 初学Python-day12 装饰器函数
  6. 《手把手教你》系列技巧篇(三十四)-java+ selenium自动化测试-单选和多选按钮操作-中篇(详解教程)
  7. LeetCode:树专题
  8. MySQL:基础语法-4
  9. 开关电源(DC-DC)与LDO电源的区别---纹波
  10. 无缓存交换 牛客网 程序员面试金典 C++ Python