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. inux配置PATH路径

    查看PATH:echo $PATH以添加python3为列 修改方法一:export PATH=P A T H : PATH:PATH:HOME/bin:export PATH=P A T H : P ...

  2. FFmpeg转换直播流格式

    mp4转rtsp ffmpeg -re -i 1671680590843.mp4 -vcodec copy -acodec copy -f rtsp rtsp://localhost:8554/liv ...

  3. js 浮点数加、减、乘、除。

    1.浮点数加法运算 function numAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split("." ...

  4. Linux 释放内存及占用较高问题排查

    1. 查看内存情况 #按 k 查看 free #按兆M查看 free -m total:总计物理内存的大小. used:已使用多大. free:可用有多少. Shared:多个进程共享的内存总额. B ...

  5. gitlab上传代码,菜鸟教学

    1.首先需要在gitlab上新建项目 2.编辑项目名称 3.在本地电脑上新建一个空的文件夹(或者是一个固定统一的文件夹),方便后续找到,这里会将gitlab的项目拉到这个文件内. 点击进入这个文件夹, ...

  6. lsyncd-实时同步(镜像)守护程序

    本文作者: 五行哥 QQ: 1226032602 E-mail: 1226032602@qq.com 官方文档 https://axkibe.github.io/lsyncd/ https://git ...

  7. vue 使用 swiper vue-awesome-swiper

    文档地址 https://github.com/surmon-china/vue-awesome-swiper 演示地址 https://v1.github.surmon.me/vue-awesome ...

  8. RestTemplate 连接池最大链接数

    原文链接:https://www.cnblogs.com/x-x-736880382/p/11591906.html 以前我们项目都是基于Apache HttpClient 连接池进行web 接口调用 ...

  9. mathcurve.com

    https://mathcurve.com/surfaces.gb/surfaces.shtml

  10. Vue 解决因网络延时 页面中的{{XXX}}模板直接展示在用户面前,配合v-cloak指令

    v-cloak指令: 1.本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉 v-cloak属性 2.使用 CSS配合v-cloak可以解决网速慢时,页面展示出{{XXX}}模板的问题 案例: ...