黑马程序员技术交流社区

标题: 【沈阳校区】SpringBoot对比传统开发以及自身的优缺点 [打印本页]

作者: liqiangheb    时间: 2019-1-21 11:23
标题: 【沈阳校区】SpringBoot对比传统开发以及自身的优缺点
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项目。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2