首页 > 其他分享 >Spring Boot的优缺点以及四大核心

Spring Boot的优缺点以及四大核心

时间:2023-08-12 12:33:44浏览次数:24  
标签:依赖 应用 Spring 配置 优缺点 构建 Boot

一、Spring Boot 是什么?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot的优缺点以及四大核心_服务器

二、Spring Boot 的优缺点



1、优点

①可快速构建独立的 Spring 应用

Spring Boot是一个依靠大量注解实现自动化配置的全新框架。在构建Spring应用时,我们只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖自动进行配置,在无须额外手动添加配置的情况下快速构建出一个独立的Spring应用。


②直接嵌入Tomcat、Jetty 和Undertow 服务器

传统的Spring应用部署时,通常会将应用打成 WAR包形式并部署到Tomcat、Jetty或Undertow 服务器中。Spring Boot框架内嵌了Tomcat、Jetty和Undertow 服务器,而且可以自动将项目打包,并在项目运行时部署到服务器中。


③通过依赖启动器简化构建配置

在Spring Boot项目构建过程中,无须准备各种独立的JAR文件,只需在构建项目时根据开发场景需求选择对应的依赖启动器“starter”,在引入的依赖启动器“starter”内部已经包含了对应开发场景所需的依赖,并会自动下载和拉取相关JAR包。


④自动化配置Spring和第三方库

Spring Boot 充分考虑到与传统Spring 框架以及其他第三方库融合的场景,在提供了各种场景依赖启动器的基础上,内部默认提供了各种自动化配置类(例如 RedisAuto Configuration)。使用Spring Boot开发项目时,一旦引入了某个场景的依赖启动器,Spring Boot内部提供的默认自动化配置类就会生效,开发者无须手动在配置文件中进行相关配置(除非开发者需要更改默认配置),从而极大减少了开发人员的工作量,提高了程序的开发效率。


⑤提供生产就绪功能

Spring Boot提供了一些用于生产环境运行时的特性,例如指标、监控检查和外部化配置。其中,指标和监控检查可以帮助运维人员在运维期间监控项目运行情况;外部化配置可以使运维人员快速、方便地进行外部化配置和部署工作。


⑥极少的代码生成和XML配置

Spring Boot 框架内部已经实现了与Spring以及其他常用第三方库的整合连接,并提供了默认最优化的整合配置,使用时基本上不需要额外生成配置代码和XML配置文件。在需要自定义配置的情况下,Spring Boot更加提倡使用Java config(Java 配置类)替换传统的XML配置方式,这样更加方便查看和管理。


2、缺点

Spring Boot也有一些明显的缺点:


例如,Spring Boot入门较为简单,但是深入理解和学习却有一定的难度,这是因为SpringBoot是在Spring框架的基础上推出的,所以读者想要弄明白Spring Boot的底层运行机制,有必要对Spring框架有一定的了解。


三、Spring Boot 的四大核心

1、自动配置

针对很多Spring应用程序和常见的应用功能,Spring Boot相关配置可自动提供,通过简单的配置,甚至零配置,可以构建一套完整的框架。


2、起步依赖

告诉Spring Boot它可以引入所需的依赖库;通过启动依赖机制(Starter),简化jar包的引用,解决jar版本的冲突。


3、Actuator

是SpringBoot的程序监控器,可以监控Spring应用程序上下文中的Beann、查看自动配置决策、Controller映射、线程活动、应用程序健康状况等,能深入运行的Spring Boot应用程序,探索Spring boot 程序内部信息。


4、命令界面

这是Spring Booot的可选特性主要用于Grovy语言。


四、Spring Boot 的应用场景

1、快速构建RESTful API服务

Spring Boot提供了一系列的自动配置和基础组件,可以帮助你快速构建基于 Spring MVC 的 RESTful API 服务。


2、快速构建微服务架构

Spring Boot 提供了一系列的微服务工具和组件,包括服务注册与发现、负载均衡、断路器等,可以帮助你快速构建微服务架构。


3、快速构建企业级应用

Spring Boot 提供了丰富的企业级应用组件,包括数据持久化、消息中间件、安全认证、任务调度等,可以帮助你快速构建企业级应用。


4、快速构建云原生应用

Spring Boot 提供了对云原生应用的支持,包括对云服务的集成、对容器化应用的支持等,可以帮助你快速构建云原生应用。





标签:依赖,应用,Spring,配置,优缺点,构建,Boot
From: https://blog.51cto.com/u_16078995/7057570

相关文章

  • SpringBoot跨域
    SpringBooot2.5.12packagecom.lenovo.lps.cost.servicecto.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;importorg.springframework.http.client.SimpleClientHttpRequestFactory;imp......
  • SpringBoot BigDecimal精度丢失
    jackjson自动丢弃了小数位最末尾的0privateBigDecimalprice;price=12.10;返回自动转为了12.1解决方案1:返回字段都用字符串2:BigDecimal序列化自定义处理packagecom.lenovo.lps.cost.integrator.config;importcom.fasterxml.jackson.core.JsonGenerat......
  • SpringBoot复习:(21)自定义ImportBeanDefinitionRegistrar
    要达到的目的:将某个包下使用了某个自定义注解(比如@MyClassMapper)的类注册到Spring容器。一、自定义注解:packagecom.example.demo.service;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME)publ......
  • SpringBoot复习:(20)如何把bean手动注册到容器?
    可以通过实现BeanDefinitionRegistryPostProcessor接口,它的父接口是BeanFactoryPostProcessor.步骤:一、自定义一个组件类:packagecom.example.demo.service;publicclassMusicService{publicMusicService(){System.out.println("musicserviceconstructed!......
  • SpringBoot复习:(19)Condition接口和@Conditional注解
    Condition接口代码如下:publicinterfaceCondition{ booleanmatches(ConditionContextcontext,AnnotatedTypeMetadatametadata);}它是一个函数式接口,只有一个方法matches用来表示条件是否满足。matches方法中的ConditionContext类对象context可以通过getEnvironment方法获......
  • 使用 Spring 实现控制反转和依赖注入
    概述在本文中,我们将介绍IoC(控制反转)和DI(依赖注入)的概念,以及如何在Spring框架中实现它们。什么是控制反转?控制反转是软件工程中的一个原则,它将对象或程序的某些部分的控制权转移给容器或框架。我们最常在面向对象编程的上下文中使用它。与传统编程相比,传统编程中我们的自定义代......
  • 32.SpringBoot整合high-level-client
    idea中使用es创建一个bianen-search模块 在mydata文件夹下创建一个nginx文件夹:mkdirnginx随便启动一个nginx实例,只是为了复制出配置:dockerrun-p80:80--namenginx-dnginx:1.10 如下图可以看到启动好了nginx容器,当然这个容器我们只是为了用来复制它的配置文......
  • Spring Cloud Alibaba Sentinel 用法
    SpringCloudAlibabaSentinel用法1、服务器雪崩在分布式系统中,由于网络原因或自身的原因,服务一般无法保证100%可用。如果一个服务出现了问题,调用这个服务就会出现线程阻塞的情况,此时若有大量的请求涌入,就会出现多条线程阻塞等待,进而导致服务瘫痪。由于服务与服务之间的依......
  • JDK和Spring版本兼容性
      SpringVersionJavaVersion5.xJDK8,9,10,11,12,134.3.xJDK6,7,84.2.xJDK6,7,84.1.xJDK6,7,84.0.xJDK6,7,83.2.xJDK6,73.1.xJDK5,6,73.0.xJDK5,6......
  • Spring 事务管理高级应用难点剖析: 第 2 部分
    联合军种作战的混乱Spring抽象的DAO体系兼容多种数据访问技术,它们各有特色,各有千秋。像Hibernate是非常优秀的ORM实现方案,但对底层SQL的控制不太方便;而iBatis则通过模板化技术让您方便地控制SQL,但没有Hibernate那样高的开发效率;自由度最高的当然是直接使用SpringJD......