Sping Boot 简介
随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重,繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,Spring Boot 应运而生。
Spring Boot 是由 Pivotal 团队提供用来简化 Spring 的搭建和开发过程的全新框架。随着近些年来微服务技术的流行,Spring Boot 也成了时下炙手可热的热点技术。Spring Boot 去除了大量的 xml 配置文件,简化了复杂的依赖管理,配合各种 starter 使用,基本上可以做到自动化配置。Spring 可以做的事情,现在用 Spring boot 都可以做。使用 Spring Boot 很容易创建一个独立运行(运行 jar,内嵌Servlet容器)、准生产级别的基于 Spring 框架的项目,使用 Spring Boot 可以不用或者只需要很少的 Spring 配置。
约定优于配置,这是 Spring Boot 的主导思想 。 对于 Spring Boot 而言 ,大部分情况下存在默认配置 ,甚至可以在没有任何定义的情况下使用,如果需要自定义也只需要在配置文件配置一些属性便可以,十分便捷 。 而对于部署这些项目必需的功能, Spring Boot 提供了 starter 的依赖。
Spring Boot 优点
1、提供 starter 简化 Maven 配置
Spring Boot提供了一系列的 starter 依赖来简化 Maven 的依赖加载,这些 starter 可以直接获取开发所需的依赖 。
例如,创建一个 web 项目,在使用 Spring 的时候,需要在 pom 文件中添加多个依赖;而在 Spring Boot 中,只需要在 pom 文件中只引入一个了spring-boot-starter-web 依赖就行。如下图:
如果点进spring-boot-starter-web会发现里边包含了spring-web、spring-webmvc等依赖包。所以Spring Boot添加spring-boot-starter-web依赖后会自动把以下依赖加载过来。如下图:
2、Spring Boot 不需要 xml 配置,启动项目自动完成配置
原来的ssm项目需要各种配置 如web.xml、spring配置等等,而Spring Boot项目不需要这些配置,因为在Spring Boot项目启动的时候,内部通过@EnableAutoConfiguration注解开启了自动配置。这样可以快速构建项目,极大的提高了开发效率。
3、内嵌 Servlet 容器,可独立运行的 Spring 项目
Spring Boot 可选择内嵌 Tomcat、Jetty 或者 Undertow(也就是说搭建 SpringBoot 项目并不需要单独下载 Tomcat 等传统的服务器)。 可以以 jar 包的形式独立运行,运行一个 Spring Boot 项目只需把项目导出jar包,通过 java –jar xx.jar 来运行。也可以以 war 包形式部署项目。
4、准生产的应用监控
Spring Boot 提供基于 http、ssh、telnet 对运行时的项目进行监控。
优缺点总结:
优点
- 提供了starter简化了 Maven 配置,
- 不需要 xml 配置,能快速构建项目,
- 项目可独立运行,无须外部依赖Servlet容器。
- 极大地提高了开发和部署效率。
- 提供运行时的应用监控。
缺点
- 版本迭代速度很快,一些模块改动很大。
- 由于不用自己做配置,报错时很难定位。