zoukankan      html  css  js  c++  java
  • 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

    1.  
      package com.xuliugen.demo;
    2.  
       
    3.  
      import org.springframework.boot.SpringApplication;
    4.  
      import org.springframework.boot.autoconfigure.SpringBootApplication;
    5.  
       
    6.  
      @SpringBootApplication
    7.  
      public class SpringbootDemoApplication {
    8.  
       
    9.  
      public static void main(String[] args) {
    10.  
      SpringApplication.run(SpringbootDemoApplication.class, args);
    11.  
      }
    12.  
      }

    (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对运行时的项目进行监控;

    SpringBoot缺点

    Spring Boot作为一个微框架,离微服务的实现还是有距离的。springboot 只是为了提高开发效率,是为了提升生产力的。

    没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也需要与现有的监控对接。没有配套的安全管控方案,对于REST的落地,还需要自行结合实际进行URI的规范化工作。

    注意:

            将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。

  • 相关阅读:
    A working example of bad SQL statement causes too much CPU usage
    Notes on <<Refactoring Databases Evolutionary Database Design>>
    DBMS_SQL & ORA01000: Too many open cursors
    TTS, not used for schema exp/imp
    Notes on <High Performance MySQL> Ch6: Optimizing Server Settings
    Notes on <High Performance MySQL> Ch3: Schema Optimization and Indexing
    A bug of "sql*loader"?
    11.2.0.2 improves the support for MERGE statement
    Use "OR" in SQL with caution
    关于NORFLASH和NANDfLASH的区别。——Arvin
  • 原文地址:https://www.cnblogs.com/williamjie/p/9369878.html
Copyright © 2011-2022 走看看