当前位置:   article > 正文

浅谈之Spring优缺点、SpringBoot概述(优点核心功能)、起步依赖和自动配置的原理剖析_spring和springboot的优缺点

spring和springboot的优缺点

原有Spring优缺点

Spring的优点分析:

  • 1、非侵入式设计
    Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。

  • 2、方便解耦、简化开发
    Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器的管理,大大的降低了组件之间的耦合性。

  • 3、支持AOP
    Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事物、日志等进行集中式处理,从而提高了程序的复用性。

  • 4、支持声明式事务处理
    只需要通过配置就可以完成对事物的管理,而无须手动编程。

  • 5、方便程序的测试
    Spring提供了对Junit4的支持,可以通过注解方便的测试Spring程序。

  • 6、方便集成各种优秀框架
    Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Struts、Hibernate、MyBatis、Quartz等)的直接支持。

  • 7、降低Jave EE API的使用难度。
    Spring对Java EE开发中非常难用的一些API(如JDBC、JavaMail等),都提供了封装,使这些API应用难度大大降低。

Spring的缺点分析:

  • 配置过于繁琐
  • 所有配置都代表了开发时的损耗
    因为在思考Spring特性配置和解决业务问题之间需要切换思维,所以编写配置挤占了编写应用程序逻辑的时间。
  • 项目的依赖管理也很繁琐
    项目搭建时,需要分析要导入哪儿些库的坐标,还需要分析导入与之有依赖关系的其他库的坐标,一旦选错依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度

SpringBoot的概述

SpringBoot解决上述Spring的缺点:

  • SpringBoot对上诉的Spring缺点进行改善和优化,基于约定优于配置的思想,可以让开发人员不必再配置与逻辑业务之间进行思维的切换,全身心投入到逻辑业务中,提高开发效率。

SpringBoot的特点:

  • 为基于Spring的开发提供更快的入门体验。
  • 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值莱曼住特定的要求。
  • 提供了一些大型项目中常见的非功能性特征,如嵌入式服务器、安全、指标、健康检测、外部配置等。
  • SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。

SpringBoot的核心功能
在这里插入图片描述

SpringBoot原理分析之起步依赖

spring-boot-starter-parent底层继承于spring-boot-dependencies

  • spring-boot-starter-parent
    在这里插入图片描述
  • spring-boot-dependencies
    版本约定与依赖:相当于maven的版本库

spring-boot-starter-web
底层引入了 spring-web 、spring-webmvc的坐标及版本控制
在这里插入图片描述

SpringBoot原理分析之自动配置

@SpringBootApplication
底层有很多注解:具体可以具备三个注解的功能
在这里插入图片描述

  • 1、@SpringBootConfiguration相当于@Configuration注解
  • 2、@ComponentScan:自动扫描注解
  • 3、@EnableAutoConfiguration:是否可以自动配置的开关,其中默认配置了很多配置
    例如:默认配置Tomcat端口号:8080
    在这里插入图片描述
    修改SpringBoot的默认配置,新建配置文件:application.properties
# 服务器的端口号
server.port=8081
#配置web应用的名称
server.servlet.context-path=/demo
  • 1
  • 2
  • 3
  • 4

此时就覆盖了默认配置的端口号和web应用的名称。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/384660
推荐阅读
相关标签
  

闽ICP备14008679号