当前位置: 首页 > news >正文

spring和springBoot

Spring和Spring Boot小结
Spring和Spring Boot基于IOC AOP理念实现,Spring Boot集成了Spring。
Spring框架:

Spring框架解决了企业级的开发的复杂性,它是一个容器框架,用于装java对象(Bean),使程序间的依赖关系交由容器统一管理,松耦合,提高了可测试性和维护效率,Spring主要为我们做了两件事,一省去了我们创建对象的操作,二声明了属性赋值。

对于我来说,Spring框架就是提供了IOC容器、控制反转、依赖注入以及一些模块,简化了大量的代码,便捷了程序的开发,节省了开发时间,提高了效率。Spring框架为我们提供了全面的基础框架,但是Spring框架的配置是一项问题,使用一项第三方jar包的时候都需要配置相关的XML文件,有时候配置起来十分麻烦,降低了编程效率。编写基于ssm框架的项目需要配置Tomcat,把封装好的war包放到Tomcat容器运行。Spring可以接管Web层、业务层、dao层、持久层的组件,可以配置各种bean。

总体而言,Spring框架就是为我们解决开发中的基础性问题,使我们开发者可以更加专注于应用程序的开发,并且Spring框架是轻量级框架,扩展性强,非侵入式框架,消耗的资源少,占用的空间小,运行和部署简单。
Spring Boot框架:

Spring Boot是一个微服务框架,延续了Spring框架的核心思想IOC和AOP,简化了应用的开发和部署。

在我看来Spring Boot框架是对Spring框架的补充,它消除了Spring框架配置XML的麻烦事,完善了Spring框架的开发环境,使我们可以更加高效的完成编程,并且为我们提供了 spring-boot-starter-web 依赖,这个依赖包含了Tomcat和springmvc等一系列的web依赖(无需部署war文件)。

以前我们SpringMVC要配置properties文件的时候需要写大量的配置,现在用Spring Boot只需要导入相关依赖,然后写两句话就可以配置完Web程序,并且还提供了@Configuration来替代XML配置。
Spring 和 Spring Boot的最大的区别在于Spring Boot的自动装配原理:

比如:
我们使用Spring创建Web程序时需要导入几个Maven依赖,而Spring Boot只需要一个Maven依赖来创建Web程序,并且Spring Boot还把我们最常用的依赖都放到了一起,现在的我们只需要spring-boot-starter-web这一个依赖就可以完成一个简单的Web应用。

以前用Spring的时候需要XML文件配置开启一些功能,现在Spring Boot不用XML配置了,只需要写一个配置类(@Configuration和继承对应的接口)就可以继续配置。

Spring Boot会通过启动器开启自动装配功能以@EnableAutoConfiguration扫描在spring.factories中的配置,然后通过@XxxxautoConfiguration进行扫描和配置所需要的Bean,自动的扫描Spring
Boot项目引入的Maven依赖,只有用到的才会被创建成Bean,然后放到IOC容器内。
总结:

Spring Boot就是Spring的完善和扩展,就是为我们便捷开发,方便测试和部署,提高效率而诞生的框架技术
 

http://www.lryc.cn/news/248567.html

相关文章:

  • laraval6.0 GatewayWorker 交互通信
  • 循环神经网络RNN
  • 为什么预处理对象会提升处理的性能
  • 智能超声波雾化器pcba方案
  • Git分支合并导致文件异常
  • Linux(11):Linux 账号管理与 ACL 权限设定
  • AMEYA360:村田首款1608M尺寸/100V静电容量1µF的MLCC实现商品化
  • 简易键值对文本解析
  • 成为AI产品经理——模型评估(混淆矩阵)
  • Git_git相关指令 高阶
  • PC企业微信http协议逆向接口开发,发送大视频文件
  • hyper-V操作虚拟机ubuntu 22.03
  • Spring boot命令执行 (CVE-2022-22947)漏洞复现和相关利用工具
  • 代理模式-C++实现
  • 从 0 到 1 开发一个 node 命令行工具
  • VsCode中使用功能vite创建vue3+js项目报错
  • COGVLM论文解读(COGVLM:VISUAL EXPERT FOR LARGE LANGUAGE MODELS)
  • Flink-时间流与水印
  • BiLSTM-CRF的中文命名实体识别
  • paddle detection 训练参数
  • 用bat制作图片马——一句话木马
  • json_encode() 返回 false
  • Android-Jetpack--Hilt详解
  • Docker 下载加速
  • 1091 Acute Stroke (三维搜索)
  • java elasticsearch 桶聚合(bucket)
  • 【人生苦短,我学 Python】(4)Python 常用内置数据类型 II —— 序列数据类型(str、tuple、list、bytes和bytearray)
  • Android 9.0 系统默认显示电量百分比
  • 原神:夏洛蒂是否值得培养?全队瞬抬治疗量不输五星,但缺点也很明显
  • Sublime text 添加到鼠标右键菜单,脚本实现