SpringBoot是什么?
一、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是什么?相关推荐
- 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题
继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...
- Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...
- SpringBoot部署脚本,拿走即用!
一个可以直接拿来使用的shell脚本,适用于springboot项目 #!/bin/bash # 这里可替换为你自己的执行程序,其他代码无需更改,绝对路径相对路径均可. # 若使用jenkins等工具 ...
- SpringBoot项目使用nacos,kotlin使用nacos,java项目使用nacos,gradle项目使用nacos,maven项目使用nacos
SpringBoot项目使用nacos kotlin demo见Gitte 一.引入依赖 提示:这里推荐使用2.2.3版本,springboot与nacos的依赖需要版本相同,否则会报错. maven ...
- springboot整合swagger2之最佳实践
来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成.功能测试功能框架. 一 ...
- SpringBoot中实现quartz定时任务
Quartz整合到SpringBoot(持久化到数据库) 背景 最近完成了一个小的后台管理系统的权限部分,想着要扩充点东西,并且刚好就完成了一个自动疫情填报系统,但是使用的定时任务是静态的,非常不利于 ...
- Springboot 利用AOP编程实现切面日志
前言 踏入Springboot这个坑,你就别想再跳出来.这个自动配置确实是非常地舒服,帮助我们减少了很多的工作.使得编写业务代码的时间占比相对更大.那么这里就讲一下面向切面的日志收集.笔者使用lomb ...
- 【Springboot】日志
springBoot日志 1.目前市面上的日志框架: 日志门面 (日志的抽象层): JCL(Jakarta Commons Logging) ...
- 【springboot】配置
配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: •application.properties •application.yml 配置文件的作用:修改SpringBoot自 ...
- 【springboot】入门
简介: springBoot是spring团队为了整合spring全家桶中的系列框架做研究出来的一个轻量级框架.随着spring4.0推出而推出,springBoot可以説是J2SEE的一站式解决方案 ...
最新文章
- oracle sql删除job,修改Oracle的Job Scheduler 日志级别及删除运行日志
- android常见异常总结
- 变量是否在数组内c语言,函数内创建的数组在调用后,是否就不存在
- 内固定取出术后护理_骨折术后康复治疗全知道!
- JavaScript 必会的知识点
- IE 9 beta 下载地址
- Houdini10:灯光
- 桌面计算机怎么设置声音,右下角小喇叭不见了-电脑桌面右下角有一个调整声音的小喇叭图标没 – 手机爱问...
- Vuex 命名空间 namespaced 介绍
- 哲学家就餐问题-中断解决
- 全网舆情资讯舆情系统网址
- pattern-exploiting training (PET)--Few-Shot Learners
- 移动端布局三种视口_什么是视口?移动端浏览器中的3种视口
- mysql源码分析——InnoDB引擎启动分析
- 单点登录 SSO 解决方案选型指南|身份云研究院
- 红米手机4A超简单刷入开发版获取ROOT超级权限的教程
- Python实战-新能源王者宁德时代股权穿透研究(附完整代码)
- ContextCaptureMaster/Smart3D 集群处理详解
- Human Resource Machine(程序员升职记)-40倍扩大器
- 留学美国计算机专业被拒签,申请美国留学签证容易被拒签的专业有哪些
热门文章
- 高性能mysql 第5章 创建高可用的索引
- jvm堆内存设置原理
- 你造吗?这个属性值你写错了多少年?target=“_blank”
- 常用 Dos 命令+杂项-常用的命令符+常用的公式
- C# const与readonly的用法和区别解析(转)
- 【Java从0到架构师】git 入门和基本应用
- Windows域控设置IE主页 默认打开百度 【全域策略生效】
- Linux下服务器搭建(2)——linux搭建svn服务器详细过程 及 使用TortoiseSVN客户端连接服务器
- [转]Docker部署Django由浅入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
- java版 高斯过程_高斯过程scikit-learn - 异常