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