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

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和设置,以使这个库能够在应用程序中使用。

相关文章:

  • NOIP 2009普及组初赛试题及解析
  • RunnerGo UI自动化测试脚本如何配置
  • 了解游戏中的数据同步
  • java框架八股
  • Node.js中的并发和多线程处理
  • Java毕业设计 基于SpringBoot vue 社团管理系统
  • 【wpf】关于绑定的一点明悟
  • http 协议深入介绍
  • 在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
  • sql 分割字段,并分行
  • python数据分析numpy基础之cumsum求数组累计和
  • C++入门和基础
  • H5页面手绘轨迹路径-过程中允许拖动+缩放地图
  • 如何在飞书接入ChatGPT并结合内网穿透实现公网远程访问智能AI助手
  • List<Object>集合对象属性拷贝工具类
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【Linux系统编程】快速查找errno错误码信息
  • 0x05 Python数据分析,Anaconda八斩刀
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Apache Pulsar 2.1 重磅发布
  • Druid 在有赞的实践
  • ES6语法详解(一)
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Javascript Math对象和Date对象常用方法详解
  • Javascript 原型链
  • Java到底能干嘛?
  • JS+CSS实现数字滚动
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Markdown 语法简单说明
  • SSH 免密登录
  • swift基础之_对象 实例方法 对象方法。
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • windows下使用nginx调试简介
  • 笨办法学C 练习34:动态数组
  • 成为一名优秀的Developer的书单
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 服务器从安装到部署全过程(二)
  • 给初学者:JavaScript 中数组操作注意点
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 软件开发学习的5大技巧,你知道吗?
  • 数据结构java版之冒泡排序及优化
  • 思维导图—你不知道的JavaScript中卷
  • 以太坊客户端Geth命令参数详解
  • 用Canvas画一棵二叉树
  • (a /b)*c的值
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm码农论坛 毕业设计 231126
  • (论文阅读40-45)图像描述1
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)c++ std::pair 与 std::make
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m