Spring Boot
是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring
应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development
)成为领导者。
Spring Boot的特点
1. 创建独立的Spring
应用程序
2. 直接嵌入Tomcat
,Jetty
或Undertow
,无需部署WAR
文件
3. 提供推荐的基础POM
文件来简化Apache Maven
配置
4. 尽可能的根据项目依赖来自动配置Spring
框架
5. 提供生产就绪型功能,如指标,运行状况检查和外部配置
6. 绝对没有代码生成和对XML
没有要求配置
Spring Boot的优点
spring boot
可以支持开发人员快速的开发出restful
风格的微服务架构;
spring boot
自动化确实方便,做微服务再合适不过了,单一jar包部署和管理都非常方便。只要系统架构设计合理,大型项目也能用,加上nginx
负载均衡,轻松实现横向扩展;
spring boot
要解决的问题, 精简配置是一方面, 另外一方面是如何方便的让spring
生态圈和其他工具链整合(比如Redis
,email
,elasticsearch
)。
Spring Boot运行环境
Spring Boot最近(2017-08-18)版本Spring Boot 1.5.6
运行环境,Spring官方建议使用JDK1.8
Name | Servlet Version | Java Version |
---|---|---|
Tomcat 8 | 3.1 | Java 7+ |
Tomcat 7 | 3.0 | Java 6+ |
Jetty 9 | 3.1 | Java 7+ |
Jetty 8 | 3.0 | Java 6+ |
Undertow 1.1 | 3.1 | Java 7+ |
Spring Boot
使开发独立的,产品级别的基于Spring的应用变得非常简单,你只需"just run
"。 为Spring
平台及第三方库提供开箱即用的设置,这样就可以有条不紊地开始。多数Spring Boot
应用需要很少的Spring
配置。
使用Spring Boot
创建Java应用,使用
启动或采用传统的Spring
war
部署方式。Spring Boot
提供了一个运行"Spring
脚本"的命令行工具。
Spring Boot推荐基础POM文件
名称 | 说明 |
---|---|
spring-boot-starter | 核心 POM,包含自动配置支持、日志库和对 YAML 配置文件的支持。 |
spring-boot-starter-amqp | 通过 spring-rabbit 支持 AMQP。 |
spring-boot-starter-aop | 包含 spring-aop 和 AspectJ 来支持面向切面编程(AOP)。 |
spring-boot-starter-batch | 支持 Spring Batch,包含 HSQLDB。 |
spring-boot-starter-data-jpa | 包含 spring-data-jpa、spring-orm 和 Hibernate 来支持 JPA。 |
spring-boot-starter-data-mongodb | 包含 spring-data-mongodb 来支持 MongoDB。 |
spring-boot-starter-data-rest | 通过 spring-data-rest-webmvc 支持以 REST 方式暴露 Spring Data 仓库。 |
spring-boot-starter-jdbc | 支持使用 JDBC 访问数据库。 |
spring-boot-starter-security | 包含 spring-security。 |
spring-boot-starter-test | 包含常用的测试所需的依赖,如 JUnit、Hamcrest、Mockito 和 spring-test 等。 |
spring-boot-starter-velocity | 支持使用 Velocity 作为模板引擎。 |
spring-boot-starter-web | 支持 Web 应用开发,包含 Tomcat 和 spring-mvc。 |
spring-boot-starter-websocket | 支持使用 Tomcat 开发 WebSocket 应用。 |
spring-boot-starter-ws | 支持 Spring Web Services。 |
spring-boot-starter-actuator | 添加适用于生产环境的功能,如性能指标和监测等功能。 |
spring-boot-starter-remote-shell | 添加远程 SSH 支持。 |
spring-boot-starter-jetty | 使用 Jetty 而不是默认的 Tomcat 作为应用服务器。 |
spring-boot-starter-log4j | 添加 Log4j 的支持。 |
spring-boot-starter-logging | 使用 Spring Boot 默认的日志框架 Logback。 |
spring-boot-starter-tomcat | 使用 Spring Boot 默认的 Tomcat 作为应用服务器。 |