SpringBoot是伴随着Spring4.0诞生的,继承了Spring的优点,一经推出,引起了巨大的反向;目前Spring
Boot的版本为2.1.0,需要Java7及Spring Framework4.1.5以上的支持。如果想在Java6下使用它,需要一些额外的
设置。Spring Boot的优点:使用Java或Groovy开发基于Spring的应用程序非常容易。 它减少了大量的开发时间并提高了生产力。 它避免了编写大量的样板代码,注释和XML配置。 Spring Boot应用程序与其Spring生态系统(如Spring JDBC,Spring ORM,Spring Data,Spring Security等)集成非常容易。 它遵循“自用默认配置”方法,以减少开发工作量。 它提供嵌入式HTTP服务器,如Tomcat,Jetty等,以开发和测试Web应用程序非常容易。 它提供CLI(命令行界面)工具从命令提示符,非常容易和快速地开发和测试Spring Boot(Java或Groovy)应用程序。 它提供了许多插件来开发和测试Spring启动应用程序非常容易使用构建工具,如Maven和Gradle。 它提供了许多插件,以便与嵌入式和内存数据库工作非常容易。 Spring Boot的核心功能(1)独立运行的Spring项目 Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可; (2)内嵌的Servlet容器 内嵌容器,使得我们可以执行运行项目的主程序main函数,是想项目的快速运行; 主程序代码SpringbootDemoApplication.java package com.itheima.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootDemoApplication.class, args); } } (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) (4)自动配置Spring Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置; (5)应用监控 Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控; SpringBoot缺点Spring Boot作为一个微框架,离微服务的实现还是有距离的。springboot 只是为了提高开发效率,是为了提升生产力的。 没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也需要与现有的监控对接。没有配套的安全管控方案,对于REST的落地,还需要自行结合实际进行URI的规范化工作。 注意: 将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。
|