欢迎来到天天文库
浏览记录
ID:27563602
大小:162.50 KB
页数:11页
时间:2018-12-04
《spring经典面试题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一、spring工作原理:1.springmvc请所有的iS求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。2.DispatcherServlet査询一个或多个HandlerMapping,找到处理请求的Controller.3.DispatcherServlet请请求提交到目标Controller4.Controllcr进行业务逻辑处理后,会返冋一个ModclAndVicw5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndV
2、iew对象指定的视图对象6.视图对象负贵渲染返回给客户端。二、为什么要用spring:AOP让幵发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。IOC允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,IOC就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、中•元素(singleton)和直接构造(straightconstructi
3、on),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。Spring即使一个AOP框架,也是一10C容器。Spring最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。三、请你谈谈SSH整合:SSH:Struts(表示层)+Spring(业务层)+Hibcrnatc(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Str
4、uts属于VC层次,负贵界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse;Controller:ActionServlet,struts-config.xml,Action)Hibernate:Hibernate是一个持久层框架,它只负责与关系数据库的操作。Spring:Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。四、介绍一下Spring的事务管理:事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或冋滚操作,如果插入成功,那么一起
5、成功,如果屮间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。Spring中也有自己的事务管理机制,一般是使川TransactionManangei•进行管理,可以通过Spring的注入来完成此功能。spring提供了儿个关于事务处理的类:TransactionDcfinition//事务属性记义TranscationStatus//代表了当前的事务,可以提交,回滚。PlatformTransactionManager这个是spring提供的川于
6、管理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务管理类例如DataSourceTransactionManager等都足这个类的子类。-•般事务定义步骤:TransactionDefinitiontd=newTransactionDefinition();TransactionStatusts=transactionManager.getTransaction(td);try{//dosthtransactionManager.commit(ts);}
7、catch(Exceptione){transactionManager.rollback(ts);}spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活。编程式主要使用transactionTemplateo省略了部分的提交,回滚,一系列的事务对象定义,需注入事务管理对象.voidadd(){transactionTemplate.execute(newTransactionCallback(){pulicObjectdoInTransac
8、tion(TransactionStatusts){//dosth}声明式:使用TransactionProxyFactoryBean:PROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATIONREQUIRED,rea
此文档下载收益归作者所有