1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Update SpringInterviewQuestions.md

This commit is contained in:
Kou Shuang 2019-09-03 09:04:23 +08:00
parent 277157338b
commit 90883996fa

View File

@ -28,7 +28,7 @@
<!-- /TOC -->
这篇文章主要是想通过一些问题,加深大家对于 Spring 的理解,所以不会涉及太多的代码!这篇文章整理了挺长时间,下面的很多问题我自己在使用 Spring 的过程中也并没有注意,自己也是临时查阅了很多资料和书籍补上的。网上也有一些很多关于 Spring 常见问题/面试题整理的文章,我感觉大部分都是互相 copy而且很多问题也不是很,有些回答也存在问题。所以,自己花了一周的业余时间整理了一下,希望对大家有帮助。
这篇文章主要是想通过一些问题,加深大家对于 Spring 的理解,所以不会涉及太多的代码!这篇文章整理了挺长时间,下面的很多问题我自己在使用 Spring 的过程中也并没有注意,自己也是临时查阅了很多资料和书籍补上的。网上也有一些很多关于 Spring 常见问题/面试题整理的文章,我感觉大部分都是互相 copy而且很多问题也不是很,有些回答也存在问题。所以,自己花了一周的业余时间整理了一下,希望对大家有帮助。
## 什么是 Spring 框架?
@ -100,7 +100,8 @@ Spring 时代我们一般通过 XML 文件来配置 Bean后来开发人员觉
推荐阅读https://www.zhihu.com/question/23277575/answer/169698662
**Spring IoC的初始化过程**
![Spring IoC的初始化过程](https://user-gold-cdn.xitu.io/2018/9/22/165fea36b569d4f4?w=709&h=56&f=png&s=4673)
![Spring IoC的初始化过程](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/SpringIOC初始化过程.png)
IoC源码阅读
@ -177,7 +178,7 @@ AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无
- **Model1 时代** : 很多学 Java 后端比较晚的朋友可能并没有接触过 Model1 模式下的 JavaWeb 应用开发。在 Model1 模式下,整个 Web 应用几乎全部用 JSP 页面组成,只用少量的 JavaBean 来处理数据库连接、访问等操作。这个模式下 JSP 即是控制层又是表现层。显而易见,这种模式存在很多问题。比如①将控制逻辑和表现逻辑混杂在一起,导致代码重用率极低;②前端和后端相互依赖,难以进行测试并且开发效率极低;
- **Model2 时代** :学过 Servlet 并做过相关 Demo 的朋友应该了解“Java Bean(Model)+ JSPView,+ServletController ”这种开发模式,这就是早期的 JavaWeb MVC 开发模式。Model:系统涉及的数据,也就是 dao 和 bean。View展示模型中的数据只是用来展示。Controller处理用户请求都发送给 ,返回数据给 JSP 并展示给用户。
Model2 模式下还存在很多问题Model2的抽象和封装程度还远远不够使用Model2进行开发时不可避免地会重复造轮子这就大大降低了程序的可维护性和复用性。于是很多JavaWeb开发相关的 MVC 框架运而生比如Struts2但是 Struts2 比较笨重。随着 Spring 轻量级开发框架的流行Spring 生态圈出现了 Spring MVC 框架, Spring MVC 是当前最优秀的 MVC 框架。相比于 Struts2 Spring MVC 使用更加简单和方便,开发效率更高,并且 Spring MVC 运行速度更快。
Model2 模式下还存在很多问题Model2的抽象和封装程度还远远不够使用Model2进行开发时不可避免地会重复造轮子这就大大降低了程序的可维护性和复用性。于是很多JavaWeb开发相关的 MVC 框架运而生比如Struts2但是 Struts2 比较笨重。随着 Spring 轻量级开发框架的流行Spring 生态圈出现了 Spring MVC 框架, Spring MVC 是当前最优秀的 MVC 框架。相比于 Struts2 Spring MVC 使用更加简单和方便,开发效率更高,并且 Spring MVC 运行速度更快。
MVC 是一种设计模式,Spring MVC 是一款很优秀的 MVC 框架。Spring MVC 可以帮助我们进行更简洁的Web层的开发并且它天生与 Spring 框架集成。Spring MVC 下我们一般把后端项目分为 Service层处理业务、Dao层数据库操作、Entity层实体类、Controller层(控制层,返回数据给前台页面)。
@ -369,5 +370,5 @@ String transient4; // not persistent because of @Transient
**Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 **“1”** 即可免费无套路获取。
![我的公众号](https://user-gold-cdn.xitu.io/2018/11/28/167598cd2e17b8ec?w=258&h=258&f=jpeg&s=27334)
![公众号](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/javaguide1.jpg)