首页 > 其他分享 >SpringBoot 面向面试学习(2023.03.23更新)

SpringBoot 面向面试学习(2023.03.23更新)

时间:2024-03-23 12:11:20浏览次数:34  
标签:面试题 Java SpringBoot 23 Spring 2023.03 MVC 模块 脚手架

导语

在网上找了很多 SpringBoot 相关的教程,要么是针对初学者面向实战入门的视频,要么基于面试但存在收费或不全面的问题……因此参考网上博客特此总结了一些可能常见的面试题,循序渐进,以问题为导向,以面试为场景进行学习/复习。

JavaGuide 提供的Spring 常见面试题总结可以去看,里面把 IoC 、AoP 、MVC 、事务、Spring Data JPA、 Spring Security 都讲了。这部分我看的是 JavaGuide老师的免费内容,我就不多此一举地进行总结了,大家有需要可以直接去看,写得蛮好的。


面试题

1、简单介绍一下 Spring,有什么缺点?

Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。

一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发,比如说 Spring 支持 IoC(Inversion of Control:控制反转) 和 AOP(Aspect-Oriented Programming:面向切面编程)、可以很方便地对数据库进行访问、可以很方便地集成第三方组件(电子邮件,任务,调度,缓存等等)、对单元测试支持比较好、支持 RESTful Java 应用程序的开发。

核心思想是 IoC 和 AoP,非常重要!!(这个看Spring 常见面试题总结

缺点:

  1. 集成复杂:比如我们想要使用 MyBatis 或者 MongoDB的时候,我们要做很多工作不管使用配置方式也好还是使用注解方式。
  2. 配置复杂:在使用 Spring 的时候,我们更多可能是选择 XML 进行配置,但目前这种配置方式已不在流行。
  3. 构建和部署复杂:启动 Spring 的 IOC 容器,是完全要依赖于第三方的 web 服务器。自身不能启动的。

2、 Spring 和 SpringBoot 和 Spring MVC 有什么区别?

下面是 Spring 的模块图:

Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。是很多模块的集合。

Spring 包含了多个功能模块(上面刚刚提到过),其中最重要的是 Spring-Core(主要提供 IoC 依赖注入功能的支持) 模块, Spring 中的其他模块(比如 Spring MVC)的功能实现基本都需要依赖于该模块。

Spring MVC 是 Spring 中的一个很重要的模块,主要赋予 Spring 快速构建 MVC 架构的 Web 程序的能力。MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。

使用 Spring 进行开发各种配置过于麻烦比如开启某些 Spring 特性时,需要用 XML 或 Java 进行显式配置。于是,Spring Boot 诞生了!

Spring 旨在简化 J2EE 企业应用程序开发。Spring Boot本质上是一个脚手架,旨在简化 Spring 开发(减少配置文件,开箱即用!)。

Spring Boot 只是简化了配置,如果你需要构建 MVC 架构的 Web 程序,你还是需要使用 Spring MVC 作为 MVC 框架,只是说 Spring Boot 帮你简化了 Spring MVC 的很多配置,真正做到开箱即用!

标签:面试题,Java,SpringBoot,23,Spring,2023.03,MVC,模块,脚手架
From: https://www.cnblogs.com/bugaway/p/18090957

相关文章

  • 2024年3月23日
    HelloWorld趁着思路清晰写一下log网络平台很多,这些都是财富、资源,很多东西触手可及,但是作为一个参与者,能够真正使用的确实不怎么多的,我的理念是物尽其用,如果闲置浪费,那就是可耻的,如同垃圾,应当被处理的。一个人的精力总是有限的,或许有奇人轶事,真的能够做到一心多用,可以同时把......
  • #17 2023.3.18
    645.loj4038「SNOI2024」树V图646.loj4039「SNOI2024」矩阵647.loj4040「SNOI2024」拉丁方648.loj4041「SNOI2024」平方数649.loj4042「SNOI2024」公交线路650.loj3903「PA2022」Palindrom651.loj3904「PA2022」WielkiZderzaczTermionów652.loj......
  • 基于SpringBoot+Vue的宠物猫售卖管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我自己的网站自己的小程序(小蔡coding)代码参考数据库参考源码获取前言......
  • 基于springboot的线上买菜系统(含源码+sql+视频导入教程)
    ......
  • 2024-03-23 闲话
    突然思考如果我要写论文,那么intro的background怎么写。仔细分析了一下,发现每篇论文的第一段是大同小异的,所以直接粘过来改改措辞就行了。剩下的motivation就可以自己发挥了。practitionern.执业人员,从业者incaseof以防万一inthecaseof在某种情况下frictio......
  • 基于SpringBoot+Layui的社区物业管理系统
    项目介绍社区物业管理系统是基于java程序开发,本系统分为业主和管理员两个角色业主可以登陆系统,查看车位费用信息,查看物业费用信息,在线投诉,查看投诉,在线报修;管理员可以车位收费信息,物业收费信息,投诉信息,楼宇信息,房屋信息,业主信息,车位信息,抄表信息等进行管理。技术栈数据......
  • SpringBoot项目集成XXL-job
    文章目录首先引入依赖配置信息配置类定义定时任务执行方法配置任务执行器配置任务执行计划在集成XXL-job前,首先确保部署了XXL-job的admin服务,如果还没有部署的话请参照Docker安装部署XXL-Job将XXL-job部署起来.此时,XXL-job已经部署好了,下来一......
  • BUPT 2024 Spring Training #3(ICPC2023 杭州站)Ag复盘
    D-OperatorPrecedence求一个长度为\(2n\)的序列\(a_{2n}\)满足条件\((a_1×a_2)+(a_3×a_4)+\ldots+(a_{2n-1}×a_{2n})=a_1×(a_2+a_3)×\ldots×(a_{2n-2}+a_{2n-1})×a_{2n}\)solution构造题显然找特殊规律。考虑到乘法构造难度大于加法,可以从乘法开始考虑。......
  • 基于SpringBoot的后勤管理系统【附源码】
    后勤管理系统开发说明开发语言:Java框架:ssmJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次......
  • CF1923E 一个无需 DSU On Tree 的解法(?
    在地铁上口胡了一下。不知道对不对。考虑记录每一个点\(i\)离他最远的一个祖先使得祖先到\(i\)的路径上没有\(a_i\)。设他为\(\text{lst}_i\)。然后如果两个\(u,v\)的\(\text{lst}\)相等,那么这条路径就是好的。每种颜色枚举即可。八成假了(?),欢迎Hack。PS:全对了,确实能......