Spring Boot -- Spring Boot 概述

Spring Boot 发展背景

多年来,Spring 配置复杂性一直为人所诟病,Spring IO 子项目试图解决这一问题,但由于其主要侧重于解决继承方面的问题,因此 Spring 配置复杂性并没有得到本质的改观,如何实现简化 Spring 配置的呼声依旧高亢,直到 Spring Boot 的出翔。Spring Boot 可让开发人员不再需要编写复杂的 XML 配置文件,仅通过几行代码就能实现一个可运行的 Web 项目。

Spring Boot 不是去再造一个“轮子”,它的“革命宣言”是为 Spring 项目开发带来一种全新的体验,从而大大降低 Spring 框架的使用门槛。

Spring Boot 革新 Spring 项目开发体验之道,其实是借助强大的 Groovy 动态语言实现的,如借助 Groovy 强大的 MetaObject 协议、可插拔的 AST 转换器及内置的依赖解决方案引擎等。再其他核心的编译模型中,Spring Boot 使用 Groovy 来构建工程文件,所以它可以轻松地利用导入模板及方法模板对类所生成地字节码进行改造,从而让开发者仅用很简洁地代码就可以完成很复杂地操作。

Spring Boot 特点

从 Spring Boot 项目名称中的 Boot 可以看出,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目,其目的是帮助开发人员快速构架出基于 Spring 的应用。Spring Boot 像一个“管家”,它会在后台“智能地”整合项目所需地第三方依赖类库或者框架,因此大部分基于 Spring Boot 的应用仅需要很少的配置就可以运行起来。

Spring Boot 包含如下特性:

  • 为开发者提供 Spring 快速入门体验。
  • 内嵌 Tomcat 和 Jetty 容器,不需要部署 WAR 文件到 Web 容器就可独立运行应用。
  • 提供许多基于 Maven 的 pom 配置模板来简化工程配置。
  • 提供实现自动化配置的基础设施。
  • 提供可以直接在生产环境中使用的功能,如性能指标、应用信息和应用健康检查。
  • 开箱即用,没有代码生成也无需 XML 配置文件,支持修改默认值来满足特定需求。

Spring Boot 启动器

Spring Boot启动器。Spring Boot是由一系列启动器组成的,这些启动器构成一个强大的灵活的开发助手。开发人员根据项目需要,选择并组合相应的启动器,就可以快速搭建一个适合项目需要的基础运行框架。

Spring Boot 提供的启动器:

启动器名称 启动器说明
spring-boot-starter 核心模块,包含自动配置支持、日志库和对 YAML 配置文件的支持。
spring-boot-starter-amqp 通过 spring-rabbit 来支持AMQP协议(Advanced Message Queuing Protocol)
spring-boot-starter-aop 支持面向方面的编程即AOP,包括 spring-aop 和 AspectJ
spring-boot-starter-artemis 通过 Apache Artemis 支持 JMS 的 API(Java Message Service API)
spring-boot-starter-batch 支持 Spring Batch,包括 HSQLDB 数据库
spring-boot-starter-cache 支持 Spring 的 Cache 抽象
spring-boot-starter-cloud-connectors 支持 Spring Cloud Connectors,简化了在像 Cloud Foundry 或 Heroku 这样的云平台上连接服务
spring-boot-starter-data-elasticsearch 支持 ElasticSearch 搜索和分析引擎,包括 spring-data-elasticsearch
spring-boot-starter-data-gemfire 支持 GemFire 分布式数据存储,包括 spring-data-gemfire
spring-boot-starter-data-jpa 支持 JPA(Java Persistence API),包括 spring-data-jpa、spring-orm、Hibernate
spring-boot-starter-data-solr 支持 Apache Solr 搜索平台,包括 spring-data-solr
spring-boot-starter-data-mongodb 支持MongoDB数据,包括spring-data-mongodb
spring-boot-starter-data-rest 通过 spring-data-rest-webmvc,支持通过 REST 暴露 Spring Data 数据仓库
spring-boot-starter-redis 支持 Redis 键值存储数据库,包括 spring-redis
spring-boot-starter-data-jdbc 支持 JDBC 访问数据库
spring-boot-starter-jta-atomikos 通过 Atomikos 支持 JTA 分布式事务处理
spring-boot-starter-jta-bitronix 通过Bitronix支持JTA分布式事务处理
spring-boot-starter-security 支持 spring-security
spring-boot-starter-test 支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块
spring-boot-starter-velocity 支持Velocity模板引擎
spring-boot-starter-freemarker 支持 FreeMarker 模板引擎
spring-boot-starter-thymeleaf 支持 Thymeleaf 模板引擎,包括与Spring的集成
spring-boot-starter-mustache 支持 Mustache 模板引擎
spring-boot-starter-web 支持全栈式 Web 开发,包括 Tomcat 和 spring-webmvc
spring-boot-starter-websocket 支持 WebSocket 开发
spring-boot-starter-ws 支持 Spring Web Services
spring-boot-starter-groovy-templates 支持 Groovy 模板引擎
spring-boot-starter-hateoas 通过 spring-hateoas 支持基于 HATEOAS 的 RESTful Web 服务
spring-boot-starter-hornetq 通过 HornetQ 支持 JMS
spring-boot-starter-log4j 支持 Log4J 日志框架
spring-boot-starter-logging 引入了 Spring Boot 默认的日志框架 Logback
spring-boot-starter-integration 支持通用的 spring-integration 模块
spring-boot-starter-jersey 支持 Jersey RESTful Web 服务框架
spring-boot-starter-mail 支持 javax.mail 模块
spring-boot-starter-mobile 支持 spring-mobile
spring-boot-starter-social-facebook 支持 spring-social-facebook
spring-boot-starter-social-linkedin 支持 spring-social-linkedin
spring-boot-starter-social-twitter 支持 spring-social-twitter
spring-boot-starter-actuator 增加了面向产品上线相关的功能,比如测量和监控
spring-boot-starter-remote-shell 增加了远程ssh shell的支持
spring-boot-starter-tomcat 引入了 Spring Boot 默认的 HTTP 引擎 Tomcat
spring-boot-starter-jetty 引入了Jetty HTTP引擎(用于替换Tomcat)
spring-boot-starter-undertow 引入了Undertow HTTP引擎(用于替换Tomcat)

你可能感兴趣的:(Spring,Boot)