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面试题大汇总的更多相关文章

  1. 转 C语言面试题大汇总

    转 C语言面试题大汇总,个人觉得还是比较全地!!! \主 题:   C语言面试题大汇总,个人觉得还是比较全地!!!  作 者:   free131 (白日?做梦!)   信 誉 值:   100    ...

  2. Java面试题大汇总

    前言 关于赢在面试的Java题系列基本收集整理完成了,所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大.这里整理挑选出来供大家面试前拿来看一看,所有题目整理自网络,有一 ...

  3. C语言面试题大汇总

    static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么差别?1) 引用必须被初始化,指针不必.2) 引用初始化以后不能被改变,指针能够改变所指的对象. ...

  4. java面试笔试题大汇总

    第一,谈谈final, finally, finalize的区别.  最常被问到.   第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以 ...

  5. C语言面试题大汇总之华为面试题 Eddy整理

    1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局.要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局 ...

  6. Java面试题大汇总(附答案)

    下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知 ...

  7. 125条常见的java面试、笔试题大汇总

    1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解所有问题,而仅仅是选择当中的一部分,临时不用部分细节.抽象包含两个方面,一是过程抽象. ...

  8. 转载:Java面试笔试题大汇总

    本文来源于:http://blog.csdn.net/wulianghuan 1.面向对象的特征有哪些方面 1).抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关 ...

  9. java面试笔试大汇总

    java面试笔试题大汇总5 JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象:2.继承:3.封装:4. 多态性: 2.String是最基本的数据类型吗? 基本数据类型包括byte.int. ...

  10. Spring 面试题汇总

    1.什么是SpringSpring是一个轻量级IoC和AOP容器框架,是为Java应用程序提供基础性服务的一套框架,目的是简化企业应用程序的开发,它使得开发者只需关注业务需求. 2.Spring的优点 ...

随机推荐

  1. Redis 实战(一)AOF 持久化配置和数据恢复

    真枪实弹:AOF 持久化配置和数据恢复 大家好,我是悟空呀. 如果你曾经背过 RDB 和 AOF 的面试八股文,那么对 AOF 肯定不陌生,但如果只停留在应付面试阶段,对于提高自己的技术是远远不够的, ...

  2. CUDA kernel使用printf调试,一定要加cudaDeviceSynchronize

    #include <stdio.h> __global__ void print() { printf("Hello from (%d, %d)\n", blockId ...

  3. object-fit: cover;

    加上之后,改变宽高,图片还是原来的比例 没加上的话,改变宽高,图片会跟着伸缩变形.

  4. 把VScode插件提示abc的提示给移到最后

    把VScode插件提示abc的提示给移到最后 解决方法 打开设置,在搜索中输入editor.snippetSuggestions,然后将选项改为top,就可以解决了 top:就是将你插件提示放到最上面 ...

  5. 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 ...

  6. idea安装破解

    转 一般都会去官网下载,官网地址IntelliJ IDEA,官网上对于不同的操作系统(windows,macOS,Linux)都有两个版本可供下载 3|0安装 确认已经安装好了 JDK ,每个IDEA ...

  7. 大规模人脸分类—allgather操作(1)

     pytorch中 all_gather 操作是不进行梯度回传的.在计算图构建中如果需要经过all_gather操作后,仍需要将梯度回传给各个进程中的allgather前的对应变量,则需要重新继承to ...

  8. laravel 导入导出(实际上还是php代码实现)

    1.导出 public function excel(){        $data=User::all();        $data=json_decode(json_encode($data), ...

  9. jmeter的阶梯式加压性能测试 jp@gc - Stepping Thread Group (deprecated)

    当测试需求要求是阶梯型的压力测试场景时,使用该线程组. 比如测试场景是    从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉),之后保持每60s停止50并发的速率关闭 ...

  10. jmeter非GUI模式压测并生成测试报告

    关于jmeter非GUI模式压测并生成测试报告 1.脚本调通后,在DOS命令栏进入脚本存在的位置 如果不想通过DOS进入脚本路径,则可以直接指定执行路径,命令如下: JMeter默认去当前目录寻找脚本 ...