浅谈之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

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值