1. 什么是SpringBoot
SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-Framework同属于Spring的产品。设计的目的是用来简化Spring应用的初始搭建以及开发过程。最主要的作用就是让我们快速的构建庞大的Spring项目,尽可能的减少一切的Xml配置,做到开箱即用,迅速上手,让我们关注业务而非配置。
2. 为什么要学SpringBoot
在没有学习SpringBoot之前有以下几点问题:
1. **复杂的配置**:我们Spring工程中复杂的配置其实是开发时的损耗,写配置挤占了编写业务代码的时间 。
2. **混乱的依赖管理**:在项目中添加很多依赖已经很麻烦了,还要知道那些库的哪些版本和其他库不会有冲突,一旦选错了以来的版本,随之而来的不兼容问题就会造成项目的致命伤害。
Spring Boot 应运而生,Spring Boot 主要提供了如下功能:
1. 为所有基于 Spring 的 Java 开发提供方便快捷的入门体验。
2. 开箱即用,有自己自定义的配置就是用自己的,没有就使用官方提供的默认的。 约定大于配置
3. 提供了一系列通用的非功能性的功能,例如嵌入式服务器、安全管理、健康检测、外部优化配置等无需Xml配置
3. SpringBoot功能
SpringBoot是以jar包的方式独立运行的,它内嵌Servlet容器(Tomcat,Jetty),无需以war包形式部署到独立的Servlet容器中,提供starter简化maven依赖包的配置,自动装配bean(大多数场景),提倡使用Java配置和注解结合无需xml配置
4. Springboot 版本选择
springboot 是以数字作为版本,spring cloud是以英文大写字母作为版本
官网:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
我们可以看到官网目前最新版本2.4.2,那我们应该使用哪个版本呢?
访问:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes
通过上面官网发现,Boot官方强烈建议你升级到2.x以上版本
5. 总结
Spring Boot 的出现让 Java 开发又回归简单,因为确确实实解决了开发中的痛点,因此这个技术得到了非常广泛的使用,我很多朋友出去面试 Java 工程师,从2017年年初开始,Spring Boot基本就是必问,现在流行的 Spring Cloud 微服务也是基于 Spring Boot,因此,所有的 Java 工程师都有必要掌握好 Spring Boot