使用Java或Groovy开发基于Spring的应用程序很是容易。html
它减小了大量的开发时间并提升了生产力。java
它避免了编写大量的样板代码,注释和XML配置。web
Spring Boot应用程序与其Spring生态系统(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成很是容易。spring
它遵循“自用默认配置”方法,以减小开发工做量。数据库
它提供嵌入式HTTP服务器,如Tomcat,Jetty等,以开发和测试Web应用程序很是容易。安全
它提供CLI(命令行界面)工具从命令提示符,很是容易和快速地开发和测试Spring Boot(Java或Groovy)应用程序。springboot
它提供了许多插件来开发和测试Spring启动应用程序很是容易使用构建工具,如Maven和Gradle。服务器
它提供了许多插件,以便与嵌入式和内存数据库工做很是容易。mvc
(1)独立运行的Spring项目框架
Spring Boot能够以jar包的形式进行独立的运行,使用:java -jar xx.jar
就能够成功的运行项目,或者在应用项目的主程序中运行main函数便可;
(2)内嵌的Servlet容器
内嵌容器,使得咱们能够执行运行项目的主程序main函数,是想项目的快速运行;
主程序代码SpringbootDemoApplication.java
(3)提供starter简化Manen配置
Spring Boot提供了一系列的starter pom用来简化咱们的Maven依赖,下边是建立一个web项目中自动包含的依赖,使用的starter pom以来为:spring-boot-starter-web
spring-boot-starter-web:支持全栈web开发,里面包括了Tomcat和Spring-webmvc。
spring-boot-starter-mail:提供对javax.mail的支持.
spring-boot-starter-ws: 提供对Spring Web Services的支持
spring-boot-starter-test:提供对经常使用测试框架的支持,包括JUnit,Hamcrest以及Mockito等。
spring-boot-starter-actuator:支持产品环境下的一些功能,好比指标度量及监控等。
spring-boot-starter-jetty:支持jetty容器。
spring-boot-starter-log4j:引入默认的log框架(logback)
Spring Boot官网还提供了不少的starter pom,请参考:
http://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter
(4)自动配置Spring
Spring Boot会根据咱们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了咱们的配置。固然,这只是Spring考虑到的大多数的使用场景,在一些特殊状况,咱们还须要自定义自动配置;
(5)应用监控
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;
Spring Boot做为一个微框架,离微服务的实现仍是有距离的。springboot 只是为了提升开发效率,是为了提高生产力的。
没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也须要与现有的监控对接。没有配套的安全管控方案,对于REST的落地,还须要自行结合实际进行URI的规范化工做。
注意:
将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个很是困难和耗时的过程。它仅适用于全新Spring项目。