Spring、SpringMVC和SpringBoot之间的关系

简介: 1、SpringSpring是一个开源容器框架,它接管了Web层、业务层、DAO层、持久性层的组件,并可以配置各种bean并维护bean到bean的关系。 其核心是控制反转(IOC)和面向方面(AOP),这只是一个分层的轻量级开源框架。

1、Spring


Spring是一个开源容器框架,它接管了Web层、业务层、DAO层、持久性层的组件,并可以配置各种bean并维护bean到bean的关系。 其核心是控制反转(IOC)和面向方面(AOP),这只是一个分层的轻量级开源框架。


2、SpringMVC


Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等。SpringMVC是一个MVC的开源框架,SpringMVC=struts2+spring,springMVC就相当于是Struts2加上Spring的整合。


3、SpringBoot


自动装配 自动装配 这是重点


Springboot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题--->习惯大于约定。


1、Spring的原理和组成


Spring为简化我们的开发工作,封装了一系列的开箱即用的组件功能模块,包括:Spring JDBC 、Spring MVC 、Spring Security、 Spring AOP 、Spring ORM 、Spring Test等。如下图:


image.png


2、SpringMVC的原理和组成


SpringMVC是属于SpringWeb里面的一个功能模块(SpringWebMVC)。专门用来开发SpringWeb项目的一种MVC模式的技术框架实现。原理如下:


image.png



三层架构:MVC:Model(模型)、VIew(视图)、Controller(控制器)


3、SpringBoot的原理和特性


Spring Boot基本上是Spring框架的扩展,减少了XML配置,为更快,更高效


Spring Boot中的一些特点:


创建独立的spring应用。

嵌入Tomcat, JettyUndertow 而且不需要部署他们。

提供的“starters” poms来简化Maven配置

尽可能自动配置spring应用。

提供生产指标,健壮检查和外部化配置

绝对没有代码生成和XML配置要求。

结构图:


image.png


springboot的核心是自动装配 启动器


三、区别与总结

Spring包含了SpringMVC,而SpringBoot又包含了Spring或者说是在Spring的基础上做得一个扩展。


关系大概是这样:


spring mvc < spring < springboot


3、Spring Boot 对比Spring的一些优点包括:


提供嵌入式容器支持

使用命令java -jar独立运行jar

在外部容器中部署时,可以选择排除依赖关系以避免潜在的jar冲突

部署时灵活指定配置文件的选项

用于集成测试的随机端口生成

4、结论


Spring Boot只是Spring本身的扩展,使开发,测试和部署更加方便。


相关文章
|
21小时前
|
XML Java 数据库连接
Spring框架与Spring Boot的区别和联系
Spring框架与Spring Boot的区别和联系
8 0
|
2天前
|
设计模式 前端开发 Java
初识Spring MVC
初识Spring MVC
8 0
|
2天前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
10 1
|
5天前
|
监控 前端开发 Java
SpringBoot与SpringMVC有哪些区别?
SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。
17 2
|
10天前
|
SQL Java 数据库连接
Springboot框架整合Spring JDBC操作数据
JDBC是Java数据库连接API,用于执行SQL并访问多种关系数据库。它包括一系列Java类和接口,用于建立数据库连接、创建数据库操作对象、定义SQL语句、执行操作并处理结果集。直接使用JDBC涉及七个步骤,包括加载驱动、建立连接、创建对象、定义SQL、执行操作、处理结果和关闭资源。Spring Boot的`spring-boot-starter-jdbc`简化了这些步骤,提供了一个在Spring生态中更便捷使用JDBC的封装。集成Spring JDBC需要添加相关依赖,配置数据库连接信息,并通过JdbcTemplate进行数据库操作,如插入、更新、删除和查询。
|
10天前
|
SQL Java 数据库连接
Springboot框架整合Spring Data JPA操作数据
Spring Data JPA是Spring基于ORM和JPA规范封装的框架,简化了数据库操作,提供增删改查等接口,并可通过方法名自动生成查询。集成到Spring Boot需添加相关依赖并配置数据库连接和JPA设置。基础用法包括定义实体类和Repository接口,通过Repository接口可直接进行数据操作。此外,JPA支持关键字查询,如通过`findByAuthor`自动转换为SQL的`WHERE author=?`查询。
|
15天前
|
Java Maven Docker
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
0.07 秒启动一个 SpringBoot 项目!Spring Native 很强!!
26 2
|
Java 测试技术 Spring
Springboot 系列(二)Spring Boot 配置文件
Springboot 系列(二)Spring Boot 配置文件
168 0
Springboot 系列(二)Spring Boot 配置文件
|
1月前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
1月前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
97 2