SpringMVC详解以及面试题/答案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC详解以及面试题/答案相关的知识,希望对你有一定的参考价值。
参考技术A 1,说说你对SpringMVC的理解?Spring MVC 是实现MVC设计模型的轻量级web框架,其核心是model view,controller,把复杂得web应用分层,简化开发
2,SpringMVC执行流程是什么?
(1)用户发送请求发送给前端控制器
(2)前端控制器收到请求调用处理器映射器
(3)处理器映射器找到具体得处理器,生成处理器对象以及处理器拦截器并返回给前端控制器
(4)前端控制器调用处理器适配器
(5)处理器适配器经过适配调用具体得处理器
(6)处理器执行完成并返回结果给前端控制器
(7)前端控制器接受到结果,并讲结果传给视图解析器
(8)视图解析器解析后返回具体得view
(9)前端根据view进行渲染视图,并且响应用户
3,SpringMVC怎样转发和重定向得?
(1)转发
再发回结果加forword
(2)重定向
在返回结果加redirect
4,SpringMVC的优点
(1)可以支持各种视图技术,而不仅仅局限于JSP
(2)与Spring框架集成(如IOC容器,AOP等)
(3)清晰角色分配:前端控制器,请求处理映射器,处理器适配器,视图解析器
(4)支持各种请求资源和映射策略
5,什么是DispatcherServlet
Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。
6,Spring MVC的前端控制器是不是单列模式如果是,有什么问题怎样解决
是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段。
SSM面试题,2021最新Java面试题及答案
-
-
1.什么叫Aop
-
2.什么叫Ioc
-
3. 什么是SpringBoot
-
4.什么是bean
-
5.Spring的优点
-
6.Springboot的核心配置是什么
-
7.@RequestMapping
-
8.Spring常用的注入方式
-
9.@Requestbody
-
10.Dao层的作用
-
11.SpringMVC 常用的几个注解?
-
12.什么是Mybatis?
-
13.SpringMVC的执行流程
-
14.SpringBoot的优点
-
15.什么是YAML?
-
16.Spring 由哪些模块组成?
-
17.Spring框架中都用到了那些设计模式?
-
Aop 是一种设计思想,是一种面向切面编程,是oop的延申,主要为了扩展功能,比如权限,日志等功能实现,采用的是横向切面方式,主要实现原理有动态代理和静态代理模式。
ioc 是一种设计思想,控制反转,之前创建对象需要由程序控制,现在将new对象交给spring管理,由spring ioc 帮你new的这种过程,即为控制反转
常通过DI依赖注入进行实现,主要注入方法为通过注解注入。
是一个脚手架,整合了spring,属于spring延申出来的产物,简化了配置,使开发人员更快速开发
Spring beans 是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中配置的元数据创建。比如,以XML文件中 的形式定义。
方便解耦,简化开发
支持aop面向切面编程开发
对主流的框架提供了很好的集成支持
提供了声明式事务管理的支持
application.yml
bootstrap.yml
是一个处理映射器,主要负责前端映射请求,通过指定控制器来处理URL请求
构造方法的注入
setter注入
基于注解注入
主要用来接受前端传递给后端的json字符串中的数据的,将json格式的数据转为java对象,只用于post 和put请求方式中!
主要是做数据持久层的工作,用来跟数据库打交道,具体到哪个表 哪个实体的增删改查
@RequestMapping 用来处理请求地址映射
@RequestParam 将请求参数绑定到你控制器的方法参数上,是springmvc中接收普通参数的注解
@RequestBody
@ResponseBody
@PathVariable (restFul风格)
最后的内容
在开头跟大家分享的时候我就说,面试我是没有做好准备的,全靠平时的积累,确实有点临时抱佛脚了,以至于我自己还是挺懊恼的。(准备好了或许可以拿个40k,没做准备只有30k+,你们懂那种感觉吗)
如何准备面试?
1、前期铺垫(技术沉积)
程序员面试其实是对于技术的一次摸底考试,你的技术牛逼,那你就是大爷。大厂对于技术的要求主要体现在:基础,原理,深入研究源码,广度,实战五个方面,也只有将原理理论结合实战才能把技术点吃透。
下面是我会看的一些资料笔记,希望能帮助大家由浅入深,由点到面的学习Java,应对大厂面试官的灵魂追问,有需要的话就戳这里:蓝色传送门打包带走吧。
这部分内容过多,小编只贴出部分内容展示给大家了,见谅见谅!
- Java程序员必看《Java开发核心笔记(华山版)》
- Redis学习笔记
- Java并发编程学习笔记
四部分,详细拆分并发编程——并发编程+模式篇+应用篇+原理篇
- Java程序员必看书籍《深入理解 ava虚拟机第3版》(pdf版)
- 大厂面试必问——数据结构与算法汇集笔记
其他像Spring,SpringBoot,SpringCloud,SpringCloudAlibaba,Dubbo,Zookeeper,Kafka,RocketMQ,RabbitMQ,Netty,MySQL,Docker,K8s等等我都整理好,这里就不一一展示了。
2、狂刷面试题
技术主要是体现在平时的积累实用,面试前准备两个月的时间再好好复习一遍,紧接着就可以刷面试题了,下面这些面试题都是小编精心整理的,贴给大家看看。
①大厂高频45道笔试题(智商题)
②BAT大厂面试总结(部分内容截图)
③面试总结
3、结合实际,修改简历
程序员的简历一定要多下一些功夫,尤其是对一些字眼要再三斟酌,如“精通、熟悉、了解”这三者的区别一定要区分清楚,否则就是在给自己挖坑了。当然不会包装,我可以将我的简历给你参考参考,如果还不够,那下面这些简历模板任你挑选:
以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
简历模板任你挑选:
[外链图片转存中…(img-RXPnePkk-1628591815309)]
以上分享,希望大家可以在金三银四跳槽季找到一份好工作,但千万也记住,技术一定是平时工作种累计或者自学(或报班跟着老师学)通过实战累计的,千万不要临时抱佛脚。
另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。
以上文章中,提及到的所有的笔记内容、面试题等资料,均可以免费分享给大家学习,有需要的话就戳这里打包带走吧。
以上是关于SpringMVC详解以及面试题/答案的主要内容,如果未能解决你的问题,请参考以下文章