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和设置,以使这个库能够在应用程序中使用。
相关推荐
一颗花生米。13 分钟前
深入理解JavaScript 的原型继承
java·开发语言·javascript·原型模式
问道飞鱼14 分钟前
Java基础-单例模式的实现
java·开发语言·单例模式
ok!ko4 小时前
设计模式之原型模式(通俗易懂--代码辅助理解【Java版】)
java·设计模式·原型模式
2402_857589364 小时前
“衣依”服装销售平台:Spring Boot框架的设计与实现
java·spring boot·后端
吾爱星辰5 小时前
Kotlin 处理字符串和正则表达式(二十一)
java·开发语言·jvm·正则表达式·kotlin
vvvae12345 小时前
分布式数据库
数据库
哎呦没5 小时前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
雪域迷影6 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
编程、小哥哥6 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
bug菌¹7 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle