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框架中都用到了那些设计模式?

1.什么叫Aop


Aop 是一种设计思想,是一种面向切面编程,是oop的延申,主要为了扩展功能,比如权限,日志等功能实现,采用的是横向切面方式,主要实现原理有动态代理和静态代理模式。

2.什么叫Ioc


ioc 是一种设计思想,控制反转,之前创建对象需要由程序控制,现在将new对象交给spring管理,由spring ioc 帮你new的这种过程,即为控制反转

常通过DI依赖注入进行实现,主要注入方法为通过注解注入。

3. 什么是SpringBoot


是一个脚手架,整合了spring,属于spring延申出来的产物,简化了配置,使开发人员更快速开发

4.什么是bean


Spring beans 是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中配置的元数据创建。比如,以XML文件中 的形式定义。

5.Spring的优点


方便解耦,简化开发

支持aop面向切面编程开发

对主流的框架提供了很好的集成支持

提供了声明式事务管理的支持

6.Springboot的核心配置是什么


application.yml

bootstrap.yml

7.@RequestMapping


是一个处理映射器,主要负责前端映射请求,通过指定控制器来处理URL请求

8.Spring常用的注入方式


构造方法的注入

setter注入

基于注解注入

9.@Requestbody


主要用来接受前端传递给后端的json字符串中的数据的,将json格式的数据转为java对象,只用于post 和put请求方式中!

10.Dao层的作用


主要是做数据持久层的工作,用来跟数据库打交道,具体到哪个表 哪个实体的增删改查

11.SpringMVC 常用的几个注解?


@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详解以及面试题/答案的主要内容,如果未能解决你的问题,请参考以下文章

2022最新SpringMVC面试题附完整答案

SpringMVC面试题及答案

69个经典Java面试题和答案详解,手慢无

springmvc和mybatis面试题(含答案)

spring cloud面试题整理(含答案)

springmvc和mybatis面试题(含答案)