<Spring Boot是什么>
Spring Boot不是一个框架 是一种用来轻松创建具有最小或零配置的独立应用程序的方式 用来开发基于Spring的应用,但只需非常少的配置。 它提供了默认的代码和注释配置,快速启动新的Spring项目而不需要太多时间。 它利用现有的Spring项目以及第三方项目来开发生产就绪(投入生产)的应用程序。 它提供了一组Starter Pom或gradle构建文件,可以使用它们添加所需的依赖项,并且还便于自动配置。 Spring Boot根据其类路径上的库自动配置所需的类。假设应用程序想要与数据库交互,如果在类路径上有Spring数据库,那么它会自动建立与数据源类的连接。<SpringBoot特点>
创建独立的Spring应用程序 直接嵌入Tomcat,jetty或Undertow(无部署WAR文件) 提供初始化的POM文件内容,简化Maven配置 尽可能自动配置Spring 提供生产就绪的功能,如指标,健康检查和外部化配置 绝对无代码生产,也不需要XML配置 <Spring Boot核心和限制> SpringBoot不是编写应用程序的框架,它可以帮助我们以最少的配置或零配置开发和构建,打包和部署应用程序 它不是应用程序服务器,但是它是提供应用程序服务器功能的嵌入式Servlet容器,而不是Spring Boot本身。 类似的,Spring Boot不实现任何企业Java规范,例如JPA或JMS。例如Spring Boot不实现JPA,但它通过为JPA实现,(例如Hibernate)自动配置适当的bean来支持JPA Spring Boot不适用任何形式的代码生成来完成它的功能。它是利用Spring 4的条件配置功能,以及Maven和Gradle提供的传递依赖关系解析,以在Spring应用程序上下文中自动配置bean。 简而言之,Spring Boot它的核心就是Spring。<Spring Boot优点和缺点>
使用Java或Groovy开发基于Spring的应用程序非常容易。 它减少了大力量的开发时间并提高了生产力。 它避免了编写大量的样板代码,注释和XML配置 Spring Boot应用程序与其Spring生态系统(如:Spring JDBC,Spring ORM,Spring Data,Spring Secutity等) 它遵循“自用默认配置”方法,以减少开发工作量 它提供嵌入式HTTP服务器,如Tomcat,Jetty等,以开发和测试Web应用程序非常容易 它提供CLI(命令行界面)工具从命令提示符,非常容易和快速的开发和测试SpringBoot(Java或Groovy应用程序) 它提供了许多插件来开发和测试Spring启动应用程序非常容易使用构建工具,如Maven和Gradle。 它提供了许多插件,以便与嵌入式和内存数据库工作非常容易。<Spring Boot的限制>
将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。 未来的Spring项目不会有任何XML配置作为它的一部分,一切都将由项目Spring Boot处理。<Spring Boot主要目标>
为所有Spring开发提供一个基本的,更快,更广泛的入门体验。 开箱即用,但随着需求开始偏离默认值,快速启动。 提供大型项目(例如嵌入式服务器,安全性,度量,运行状况检查,外部化配置)常见的一系列非功能特性。 绝对没有代码生成以及不需要XML配置,完全避免XML配置。 为了避免定义更多的注释配置(它将一些现有的 Spring Framework 注释组合成一个简单的单一注释) 避免编写大量import语句。 提供一些默认值,以便在短时间内快速启动新项目。