Spring\SpringMVC常见面试题


1、谈谈对spring的理解

1.是一个开源的轻量级的Java框架,可以自由选择spring框架的全部或一部分

2.是一个容器框架

3.提供了对持久层的支持

4.提供了对Web MVC层的支持

5.IOC\DI(控制反转\依赖注入)

IOC(控制反转):IOC是一个概念,就是说不用创建对象,只是去描述这个对象是怎么被创建出来,不在代码里直接组装你的组件和服务,但是需要在配置文件中描述需要哪些组件,之后容器负责把他们组装起来

DI:(依赖注入):从应用程序的角度来说,就是应用程序依赖Spring管理的Bean和Bean之间的关系,Spring中有很多Bean的实例,他会将符合依赖关系的对象通过注入的方式进行关联,建立Bean与Bean之间的联系

6、AOP(面向切面编程)

AOP:AOP就是把可以重用的功能提取出来,然后在将这些功能在合适的时候放入到应用程序中,AOP没有帮我们解决新的问题,他是提供了一种方法,用更少的工作量来解决一些现有的问题,是系统变得更加健壮,可维护性更好

2、什么是Spring的事务管理

事务就是对一系列的数据库操作进行统一的提交和回滚,如果插入成功,就全部插入成功,如果有一条数据发生问题,就全部回滚,避免脏数据的产生

Spring具有两种事务,一种是声明式事务,另一种是编程式事务,Spring大部分的用户会采用声明式事务,因为这种事务和应用程序的关联比较少

声明式事务:在配置文件中对事务进行声明,通过Spring proxy进行代理,不用写额外的代码,只需要在Spring配置文件中声明

编程式事务:使用硬编码的形式做事务处理,事务中的逻辑可以自己控制

Spring中也有自己的事务管理机制,一般是使用TransactionMananger进行管理,可以通过Spring的注入来完成此功能

3、Spring和SpringMVC的区别

spring是一个开源的轻量级的具有IOC(控制反转)和AOP(面向切面编程)的容器框架,SpringMVC是一个MVC框架,是基于Spring现有功能之上添加的框架,想用SpringMVC必须先依赖于Spring

4、什么是SpringMVC

SpringMVC是Spring配备构建Web应用的全功能MVC框架,SpringMVC是一个基于MVC架构的Web框架,SpringMVC是Spring框架的模块,SpringMVC和Spring无需通过中间层进行整合

5、SpingMVC的工作流程

1.发送请求到前端控制器(dispatcherservlet)

2.前端控制器(dispatcherservlet)接收到请求后,根据URL调用HandlerMapping获得该handler配置的所有相关的对象,最后以HandlerExecutionChain对象的形式返回

3.dispatchersevlet根据获得的handler,选择一个合适的handlerAdapter

4.提取request中的额数据模型,填充handler入参,开始执行handler(也就是cotroller)

5.handler执行完成后,向dispatcherservlet返回一个modelandview对象

6.dispatcherservlet接收到modelandview对象,将modelandview对象传给viewresolve

7.viewresolver解析后返回具体的view

8.dispatcherservlet将渲染视图,返回给客户端

6、Spring的常用注解

1.controller,对应表现层的Bean

2.sevice,对应业务层的Bean

3.Repository,对应数据访问层的Bean

4.Autowired,让一个对象可以被自动注入

7、SpringMVC的常用注解

1. @Controller,使用它标记的类就是一个SpringMVC Controller 对象

2. @RequestMapping,处理请求映射地址

3. @PathVariable,用于对应restful风格url中的参数

4. @RequestParam,将请求的参数绑定到方法中的参数上

5. @ResponseBody,将返回类型直接输入到http response body中

6. @RequestBody,方法参数直接被绑定到http request body中


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM