一、SpringBoot是什么?

springboot是spring开源组织下的子项目,是spring组件一站式解决方案,主要是简化了使用spring的难度,节省了繁重的配置,提供了各种启动器,开发者能快速上手。

二、SpringBoot的优点

1 独立运行

springboot内嵌了各种servlet容器,Tomcat、Jetty等,现在不再需要打成war包部署到容器中,springboot只要打成一个可执行的jar包就能独立运行,所有依赖包都在一个jar包内。

2 简化配置

spring-boot-starter-web 启动器自动依赖其他组件,减少了maven配置

3 自动配置

springboot能根据当前类路径下的类、jar包来自动配置bean,如添加一个spring-boot-starter-web启动器就能拥有web的功能,无需其他配置。

4 无代码生成和XML配置

springboot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是spring4.x的核心功能之一。

5 应用监控

springboot提供一系列端点可以监控服务及应用,做健康检测

三、不使用SpringBoot多痛苦?

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系统开发,从启动项目、开发、测试、部署及监控,都很麻烦,有大量需要手工做的事情

四、使用SpringBoot多好?

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

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

3.springboot支持内嵌的web容器,上来直接启动一个main方法就可以启动一个内嵌的tomcat web容器+web程序

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

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

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

SpringBoot是什么?相关推荐

  1. 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题

    继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...

  2. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器

    Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...

  3. SpringBoot部署脚本,拿走即用!

    一个可以直接拿来使用的shell脚本,适用于springboot项目 #!/bin/bash # 这里可替换为你自己的执行程序,其他代码无需更改,绝对路径相对路径均可. # 若使用jenkins等工具 ...

  4. SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos

    SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...

  5. springboot整合swagger2之最佳实践

    来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成.功能测试功能框架. 一 ...

  6. SpringBoot中实现quartz定时任务

    Quartz整合到SpringBoot(持久化到数据库) 背景 最近完成了一个小的后台管理系统的权限部分,想着要扩充点东西,并且刚好就完成了一个自动疫情填报系统,但是使用的定时任务是静态的,非常不利于 ...

  7. Springboot 利用AOP编程实现切面日志

    前言 踏入Springboot这个坑,你就别想再跳出来.这个自动配置确实是非常地舒服,帮助我们减少了很多的工作.使得编写业务代码的时间占比相对更大.那么这里就讲一下面向切面的日志收集.笔者使用lomb ...

  8. 【Springboot】日志

    springBoot日志 1.目前市面上的日志框架: 日志门面 (日志的抽象层):                JCL(Jakarta Commons Logging)                ...

  9. 【springboot】配置

    配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: •application.properties •application.yml 配置文件的作用:修改SpringBoot自 ...

  10. 【springboot】入门

    简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...

最新文章

  1. oracle sql删除job,修改Oracle的Job Scheduler 日志级别及删除运行日志
  2. android常见异常总结
  3. 变量是否在数组内c语言,函数内创建的数组在调用后,是否就不存在
  4. 内固定取出术后护理_骨折术后康复治疗全知道!
  5. JavaScript 必会的知识点
  6. IE 9 beta 下载地址
  7. Houdini10:灯光
  8. 桌面计算机怎么设置声音,右下角小喇叭不见了-电脑桌面右下角有一个调整声音的小喇叭图标没 – 手机爱问...
  9. Vuex 命名空间 namespaced 介绍
  10. 哲学家就餐问题-中断解决
  11. 全网舆情资讯舆情系统网址
  12. pattern-exploiting training (PET)--Few-Shot Learners
  13. 移动端布局三种视口_什么是视口?移动端浏览器中的3种视口
  14. mysql源码分析——InnoDB引擎启动分析
  15. 单点登录 SSO 解决方案选型指南|身份云研究院
  16. 红米手机4A超简单刷入开发版获取ROOT超级权限的教程
  17. Python实战-新能源王者宁德时代股权穿透研究(附完整代码)
  18. ContextCaptureMaster/Smart3D 集群处理详解
  19. Human Resource Machine(程序员升职记)-40倍扩大器
  20. 留学美国计算机专业被拒签,申请美国留学签证容易被拒签的专业有哪些

热门文章

  1. 高性能mysql 第5章 创建高可用的索引
  2. jvm堆内存设置原理
  3. 你造吗?这个属性值你写错了多少年?target=“_blank”
  4. 常用 Dos 命令+杂项-常用的命令符+常用的公式
  5. C# const与readonly的用法和区别解析(转)
  6. 【Java从0到架构师】git 入门和基本应用
  7. Windows域控设置IE主页 默认打开百度 【全域策略生效】
  8. Linux下服务器搭建(2)——linux搭建svn服务器详细过程 及 使用TortoiseSVN客户端连接服务器
  9. [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
  10. java版 高斯过程_高斯过程scikit-learn - 异常