导语
在网上找了很多 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 常见面试题总结)
缺点:
- 集成复杂:比如我们想要使用 MyBatis 或者 MongoDB的时候,我们要做很多工作不管使用配置方式也好还是使用注解方式。
- 配置复杂:在使用 Spring 的时候,我们更多可能是选择 XML 进行配置,但目前这种配置方式已不在流行。
- 构建和部署复杂:启动 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