Spring面试题大汇总
1.Spring的IOC和AOP机制?
我们在使用spring框架其实就是为了实现IOC,依赖注入,和AOP,面向切面编程,主要有两种设计模式工厂模式和代理模式,IOC就是典型的工厂模式,通过sessionfactory去注入实例,AOP就是典型的代理模式,代理模式就是常用的java设计模式,他的特征是代理类和委托类有同样接口,
2.Spring核心是什么
IOC(控制反转)、AOP (面向切面编程)、容器
3.介绍一下IOC
IOC控制反转,也叫依赖注入,利用了工厂模式将对象叫给容器来管理,你只要在spring配置文件中配置相对应得bean,以及设置相关得属性,让spring容器来生成类的实例对象以及管理对象;在spring容器启动的时候,spring会把你在配置文件配置的bean都初始化好,调用的时候,spring就见已经初始化好的bean分配给你调用这些bean的类,分配的方法就是调用setter方法来注入。
4.介绍一下AOP
AOP面向切面编程,主要分为两大类第一采用动态代理技术,利用消息截取的方式,对该消息进行装饰,以取代原有的对象行为的执行;二是采用静态织入的方式,引用特定的语法来创建。
5.Spring中Autowired和Resource关键字有什么区别
@Resource和@Autowired都是做bean的注入时使用,Resource是javax.annotation.resource,需要导入,而spring支持该注解的注入
6介绍一下spring
spring是一个轻量级的IOC和AOP容器框架,是为了Java应用程序提供基础性服务的一套框架,常见的配置方式有三种基于XML配置,基于注解配置,基于Java的配置
8.spring MVC流程
1)用户发送请求☞前端服务器DispatcherServlet
2)DispatcherServlet收到请求后调用HandlerMapping处理器
3)处理器映射找到具体的处理器,生成处理器对象及处理器拦截器并返回给DispatcherServlet
4)DispatcherServlet调用HandlerAdapter处理器适配器
5)HandlerAdapter经过适配器掉用具体的Controller处理器
6)Controller执行完反返回ModeAndView
7)HandlerAdapter将Controller执行结果ModelAndView返回给 DispatcherServlet
8)DispatcherServlet将ModeAndView传给ViewReslover视图解析器
9)ViewResalover解析后返回具体的View
10)DisPatcherServlet根据View进行渲染视图
11)DispatcherServlet响应用户
9.String组件说明
1)DispatcherServlet:前端控制器,整个流程的中心,控制其他组件的执行,降低组件之间的耦合性,提高组件的扩展性
2)HandlerMapping:通过扩展控制器映射器实现不同的映射方式
3)HandlerAdapter:通过扩展处理器适配器,支持更多类型的处理器
4)ViewREsolver:通过扩展视图解析器,支持更多的视图解析
10.MVC设计模式
1)Model模型:
2)View视图
3)Controller控制器:
11.SPringMVC怎么设置重定向和转发
转发:forward 比如Forword:user.do?name=method4
重定向:再返回值前面加一个 redirect 比如redirect:http://www.baoidu.com
12.spring框架中几种设计模式
1)工厂模式:BeanFactroy就是简单的工厂模式体系,用来创建对象的实例
2)单例模:Bean默认就是单例模式
3)代理模式:Spring的AOP功能就用到了JDK的动态代理和CGLIB字节码生成技术
4)模板方法:用来解决代码重复的问题
5)观察者模式:定义一个对象一种一对多的依赖关系
13.spring支持的bean作用域有哪些?
1)singleton:使用该属性定义Bean时,IOC容器只创建一个Bean实例,IOC容器返回的是同一个Bean实例。
2)prototype:使用该属性定义Bean时,IOC容器可以创建多个Bean实例,每次返回的都是一个新实例
3)request:该属性只对HTTP请求起到作用,使用该属性定义bean时3,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境
4)session:该属性只用于HTTP session,同一个session共享一个bean实例,不同session使用不同的实例
5)global—session:该属性只用于HTTP session,同session作用域不同的是,所有的session共享一个bean实例
Spring面试题大汇总的更多相关文章
- 转 C语言面试题大汇总
转 C语言面试题大汇总,个人觉得还是比较全地!!! \主 题: C语言面试题大汇总,个人觉得还是比较全地!!! 作 者: free131 (白日?做梦!) 信 誉 值: 100 ...
- Java面试题大汇总
前言 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大.这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一 ...
- C语言面试题大汇总
static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么差别?1) 引用必须被初始化,指针不必.2) 引用初始化以后不能被改变,指针能够改变所指的对象. ...
- java面试笔试题大汇总
第一,谈谈final, finally, finalize的区别. 最常被问到. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以 ...
- C语言面试题大汇总之华为面试题 Eddy整理
1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局 ...
- Java面试题大汇总(附答案)
下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知 ...
- 125条常见的java面试、笔试题大汇总
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解所有问题,而仅仅是选择当中的一部分,临时不用部分细节.抽象包含两个方面,一是过程抽象. ...
- 转载:Java面试笔试题大汇总
本文来源于:http://blog.csdn.net/wulianghuan 1.面向对象的特征有哪些方面 1).抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关 ...
- java面试笔试大汇总
java面试笔试题大汇总5 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象:2.继承:3.封装:4. 多态性: 2.String是最基本的数据类型吗? 基本数据类型包括byte.int. ...
- Spring 面试题汇总
1.什么是SpringSpring是一个轻量级IoC和AOP容器框架,是为Java应用程序提供基础性服务的一套框架,目的是简化企业应用程序的开发,它使得开发者只需关注业务需求. 2.Spring的优点 ...
随机推荐
- Redis 实战(一)AOF 持久化配置和数据恢复
真枪实弹:AOF 持久化配置和数据恢复 大家好,我是悟空呀. 如果你曾经背过 RDB 和 AOF 的面试八股文,那么对 AOF 肯定不陌生,但如果只停留在应付面试阶段,对于提高自己的技术是远远不够的, ...
- CUDA kernel使用printf调试,一定要加cudaDeviceSynchronize
#include <stdio.h> __global__ void print() { printf("Hello from (%d, %d)\n", blockId ...
- object-fit: cover;
加上之后,改变宽高,图片还是原来的比例 没加上的话,改变宽高,图片会跟着伸缩变形.
- 把VScode插件提示abc的提示给移到最后
把VScode插件提示abc的提示给移到最后 解决方法 打开设置,在搜索中输入editor.snippetSuggestions,然后将选项改为top,就可以解决了 top:就是将你插件提示放到最上面 ...
- as8051入门
汇编例子 MAIN: MOV R0, #16 MOV R1, #16 LOOP: MOV A, R1 MOV @R0,A MOV A,0x0 MOV A, @R0 MOV SBUF, A INC R0 ...
- idea安装破解
转 一般都会去官网下载,官网地址IntelliJ IDEA,官网上对于不同的操作系统(windows,macOS,Linux)都有两个版本可供下载 3|0安装 确认已经安装好了 JDK ,每个IDEA ...
- 大规模人脸分类—allgather操作(1)
pytorch中 all_gather 操作是不进行梯度回传的.在计算图构建中如果需要经过all_gather操作后,仍需要将梯度回传给各个进程中的allgather前的对应变量,则需要重新继承to ...
- laravel 导入导出(实际上还是php代码实现)
1.导出 public function excel(){ $data=User::all(); $data=json_decode(json_encode($data), ...
- jmeter的阶梯式加压性能测试 jp@gc - Stepping Thread Group (deprecated)
当测试需求要求是阶梯型的压力测试场景时,使用该线程组. 比如测试场景是 从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉),之后保持每60s停止50并发的速率关闭 ...
- jmeter非GUI模式压测并生成测试报告
关于jmeter非GUI模式压测并生成测试报告 1.脚本调通后,在DOS命令栏进入脚本存在的位置 如果不想通过DOS进入脚本路径,则可以直接指定执行路径,命令如下: JMeter默认去当前目录寻找脚本 ...