<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语句。
 提供一些默认值,以便在短时间内快速启动新项目。

[Spring Boot]什么是Spring Boot的更多相关文章

  1. spring boot(五):spring data jpa的使用

    在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...

  2. spring boot(三):Spring Boot中Redis的使用

    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...

  3. 使用 Spring Boot 快速构建 Spring 框架应用--转

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...

  4. Spring REST实践之Spring Boot

    Spring Boot基本描述 可以利用http://start.spring.io网站的进行Spring Boot的初始化构建.这个初始化构建器允许你输入工程基本信息.挑选工程支持的功能,最后会生成 ...

  5. 使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer

    Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2002 年发布以来,Spring 框架已经成为企业应用开发领域非常流行的基础框架.有大量的企业应用基于 Spring 框架来开发.S ...

  6. Spring Boot——开发新一代Spring应用

    Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的发布,Spring IO团队逐渐开 ...

  7. Spring Boot中使用 Spring Security 构建权限系统

    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,为应用系统提供声明式的安全 ...

  8. Spring Boot(五):Spring Boot Jpa 的使用

    在上篇文章Spring Boot(二):Web 综合开发中简单介绍了一下 Spring Boot Jpa 的基础性使用,这篇文章将更加全面的介绍 Spring Boot Jpa 常见用法以及注意事项. ...

  9. (转)Spring Boot (十三): Spring Boot 小技巧

    http://www.ityouknow.com/springboot/2017/06/22/spring-boot-tips.html 一些 Spring Boot 小技巧.小知识点 初始化数据 我 ...

  10. (转)Spring Boot(五):Spring Boot Jpa 的使用

    http://www.ityouknow.com/springboot/2016/08/20/spring-boot-jpa.html 在上篇文章Spring Boot(二):Web 综合开发中简单介 ...

随机推荐

  1. [转载]ORACLE日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年 ...

  2. ElasticSearch(七) Elasticsearch在Centos下搭建可视化服务

    要想可视化ElasticSearch,就需要安装一些插件,安装插件的前提是安装所依赖的环境,比如java,maven等,本篇博文就不再走那些流程了.没安装的童鞋可以看我的ElasticSearch栏目 ...

  3. CEF 右键添加开发者选项菜单项

    在项目开发过程中,有时候需要进行调试测试,然后我们可以在cef上下文菜单中添加自定义开发者工具菜单项,这样会比较方便,最后效果: 实现过程: 让自己的MyClientHandler来继承 CefCon ...

  4. version control的简单认知

    version control 版本控制是一种记录文件或文件集随时间变化的系统,以便您以后可以调用特定版本.对于本书中的示例,您将使用软件源代码作为受版本控制的文件,但实际上您可以使用计算机上的几乎任 ...

  5. luogu[愚人节题目3]现代妖怪殖民地 NTT

    U34272 [愚人节题目3]现代妖怪殖民地 fft 题目链接 https://www.luogu.org/problemnew/show/U34272 思路 虽然是个py题. ntt(或者fft)模 ...

  6. CSS布局学习(二) - flex属性

    flex属性 定义 flex布局包括最外层的容器和内部的元素,flex属性是内部元素属性.flex属性是flex-grow, flex-shrink, flex-basis三个属性的简写 flex-g ...

  7. NodeJS:(二)基础常用API

    node.js中文网:http://nodejs.cn/api/ (path.Buffer.events.fs) ①path路径-----const {resolve} = require('path ...

  8. js +与?优先级

    var val = 'smtg'; console.log('Value is ' + (val === 'smtg') ? 'Something' : 'Nothing'); // A. Value ...

  9. python tar 打包

    import os import tarfile def make_targz_one_by_one(output_filename, source_dir): tar = tarfile.open( ...

  10. WingIDE 常用快捷键

    Ctrl+N        新建文件 Ctrl+O   打开文件夹 Ctrl+W            关闭当前文件 Ctrl+S              保存文件 Ctrl+shif+S      ...