spring经典面试题.doc:..一、spring工作原理:,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。,,,。二、 为什么要用spring:AOP让幵发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用AOP后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。IOC允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,IOC就像反过来的JNDI。没有使用一堆抽象工厂、服务定位器、中•元素(singleton)和直接构造(straightconstruction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。Spring即使一个AOP框架,也是一10C容器。Spring最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。三、 请你谈谈SSH整合:SSH:Struts(表示层)+Spring(业务层)+Hibcrnatc(持久层)Struts:Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Struts属于VC层次,负贵界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse;Controller:ActionServlet,struts-,Action)Hibernate:Hibernate是一个持久层框架,它只负责与关系数据库的操作。Spring:Spring是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。四、 介绍一下Spring的事务管理:事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或冋滚操作,如果插入成功,那么一起成功,如果屮间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。Spring中也有自己的事务管理机制,一般是使川TransactionManangei•进行管理,可以通过Spring的注入来完成此功能。spring提供了儿个关于事务处理的类:TransactionDcfinition//事务属性记义TranscationStatus//代表了当前的事务,可以提交,回滚。PlatformTransactionManager这个是spring提供的川于管理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务管理类例如DataSourceTransactionManager等都足这个类的子类。-•般事务定义步骤:TransactionDefinitiontd=newTransactionDefinition();TransactionStatusts=(td);try{//mit(ts);}catch(Exceptione){(ts);}spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活。编程式主要使用transactionTemplateo省略了部分的提交,回滚,一系列的事务对象定义,(){(newTransactionCallback(){pulicObjectdoInTransaction(TransactionStatusts){//dosth}声明式:使用TransactionProxyFactoryBean:PROPAGATION_REQUIRED PROPAGATION_REQU
spring经典面试题 来自淘豆网m.daumloan.com转载请标明出处.