spring、springmvc、springboot框架的介绍

前言

我们已经学过Spring,SpringMVC,SpringBoot了,那这三者之间有没有联系或者区别呢?

spring是一个一站式的轻量级java开发的框架,那我们刚开始使用spring的时候,是需要配置很多的配置文件以及繁琐的过程才可以使用,那对于程序员来说开发就比较头疼了,spring的核心主要是控制反转(IOC)和面向切面(AOP)

springMVC是在spring框架基础之上的一个MVC框架,主要处理的就是web开发路径的映射以及视图渲染,属于spring框架中WEB层开发的一部分

springBoot框架是对spring框架进行了配置的简化,相对于spring MVC来说,更专注于开发微服务后台接口,不开发前端视图,springBoot是基于spring框架的快速开发工具,能够自动配置spring和第三方库,简化了spring开发和部署,springboot是spring框架的扩展,springboot使用spring的核心功能,但是更加简单、快速、灵活,提供了自动化配置,嵌入式web服务器,监控,健康检查,目标就是快速创建spring应用,并尽可能的减少配置

下面我们来了解一下springboot常见的面试题

1、Spring Boot 如何实现多环境配置?

Spring Boot 可以通过多个配置文件来支持多环境配置,例如
application-dev.properties、
application-test.properties、
application-prod.properties 等。
开发人员可以在不同的配置文件中定义不同的配置项,然后在 application.properties 或 application.yml 中指定当前环境的配置文件名,例如 spring.profiles.active=dev。这样在启动应用时,Spring Boot 会自动加载对应的配置文件,并使用其中的配置项。

2、Spring Boot 中的 Starter 是什么?

Spring Boot Starter 是一系列预定义的依赖关系,每个 Starter 都包含了一组相关的依赖关系,可以快速集成一个特定的功能模块,如 Spring Boot Starter Web、Spring Boot Starter Data JPA、Spring Boot Starter Test 等。

3、Spring Boot 如何实现热部署?

在项目中引入 Spring Boot DevTools依赖,并在 IDE 中开启自动重启,这样在修改代码后,应用会自动重启,从而实现热部署

4、Spring Boot 如何自动配置?

读取 classpath 下的 META-INF/spring.factories 文件,该文件中定义了一系列自动配置类,Spring Boot 会自动扫描这些类并自动配置相应的组件。如果需要定制配置,可以使用 application.properties 或 application.yml 文件进行覆盖。

5、什么是 Spring Boot?

Spring Boot 是一个基于 Spring 框架,并提供自动化配置、嵌入式 Web 服务器、监控、健康检查等功能的框架。其目标是快速创建 Spring 应用,并尽可能地减少配置。

6、SpringBoot如何处理事务?

Spring Boot 提供了非常方便的方式来整合事务,开发者只需要添加相应的依赖,然后在需要事务管理的方法上添加 @Transactional 注解即可。
以下是整合事务的步骤:
添加 Spring Boot Starter JDBC 依赖,这两个依赖中都包含了 Spring 的事务管理功能。
在 application.properties 或 application.yml 中配置数据源的信息,如数据库 URL、用户名、密码等。
在需要事务管理的方法上添加 @Transactional 注解,表示该方法需要被 Spring 事务管理器所管理。

7、Spring Boot如何处理配置文件?

Spring Boot使用application.properties或application.yml文件来进行配置,这些文件可以放在classpath下的/config目录中,或者在命令行参数中指定。Spring Boot支持很多种配置方式,如使用环境变量、属性文件、命令行参数等。

8、Spring Boot中的自动配置是什么?

Spring Boot中的自动配置是指根据应用程序的依赖自动配置Spring和第三方库的行为。当应用程序引入某个库时,Spring Boot会自动配置相关的Bean和设置,以使这个库能够在应用程序中使用。
相关推荐
你不是我我4 小时前
【Java 开发日记】HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·开发语言·微服务
雪碧聊技术4 小时前
大模型爆火!Java后端如何抓住Agent全栈开发的风口
java·大模型·agent·全栈开发
逻辑驱动的ken5 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
杨云龙UP6 小时前
SQL Server2022部署:Windows Server 2016下安装、SSMS配置、备份还原与1433端口放通全流程_20260508
运维·服务器·数据库·sql·sqlserver·2022
AI人工智能+电脑小能手6 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ8 小时前
通过java后端代码来实现给word内容补充格式文本内容控件,以及 设置控件的标记和标题
java·c#·word
墨染天姬8 小时前
【AI】cursor提示词小技巧
前端·数据库·人工智能
古月-一个C++方向的小白8 小时前
MySQL数据库——数据类型
android·数据库·mysql
無限進步D8 小时前
Java 面向对象高级 接口
java·开发语言