struts+spring+hibernate面试题

struts+spring+hibernate面试题

ID:9768201

大小:61.50 KB

页数:8页

时间:2018-05-08

struts+spring+hibernate面试题_第1页
struts+spring+hibernate面试题_第2页
struts+spring+hibernate面试题_第3页
struts+spring+hibernate面试题_第4页
struts+spring+hibernate面试题_第5页
资源描述:

《struts+spring+hibernate面试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、struts+spring+hibernate面试题集1Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安全?如果是,说明原因不是声明局部变量,或者扩展RequestProcessor,让每次都创建一个Action,或者在spring中用scope="prototype"来管理2.MVC,分析一下struts是如何实现MVC的m:JavaBean或结合EJB组件或者pojo构成c:Action来实现v:一组JSP文件及其标签构成。3.struts中的几个关键对象的作用(说说几个关

2、键对象的作用)Action:控制器类,ActionForm:表单对象,DynaValidatorForm:动态form,ActonMapping:配置文件中action节点的信息......4.说说AOP和IOC的概念以及在spring中是如何应用的AOP:面向方面编程,ioc:依赖注入;声明式事务和编程式事务积极一些通用部分5.Hibernate有哪几种查询数据的方式hql查询,sql查询,条件查询6.load()和get()的区别hibernate对于load方法认为该数据在数据库中一定存在,可以放心

3、的使用代理来延迟加载,load默认支持延迟加载,在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,只能抛异常ObjectNotFoundEcception;所说的load方法抛异常是指在使用该对象的数据时,数据库中不存在该数据时抛异常,而不是在创建这个对象时。由于session中的缓存对于hibernate来说是个相当廉价的资源,所以在load时会先查一下session缓存看看该id对应的对象是否存在,不存在则创建代理(load时候之查询一级缓存,不存在则创建代理)。get()现在一

4、级缓存找,没有就去二级缓存找,没有就去数据库找,没有就返回null;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。7.谈谈hibernate的延迟加载和openSessionInView延迟加载要在session范围内,用到的时候再加载;opensessioninview是在web层写了一个filter来打开和关闭session,这样就表示在一次request过程中session一直开着,保证了延迟加载在session中的这个前提。8.spring的事务有几种方式?谈谈sp

5、ring事务的隔离级别和传播行为。声明事务和编程事务隔离级别:-DEFAULT使用数据库默认的隔离级别-READ_UNCOMMITTED会出现脏读,不可重复读和幻影读问题-READ_COMMITTED会出现重复读和幻影读-REPEATABLE_READ会出现幻影读-SERIALIZABLE最安全,但是代价最大,性能影响极其严重和传播行:-REQUIRED存在事务就融入该事务,不存在就创建事务-SUPPORTS存在事务就融入事务,不存在则不创建事务-MANDATORY存在事务则融入该事务,不存在,抛异常-R

6、EQUIRES_NEW总是创建新事务-NOT_SUPPORTED存在事务则挂起,一直执行非事务操作-NEVER总是执行非事务,如果当前存在事务则抛异常-NESTED嵌入式事务9.Hibernate中的update()和saveOrUpdate()的区别.摘自hibernate说明文档:saveOrUpdate()做下面的事:如果对象已经在本session中持久化了,不做任何事如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常如果对象没有持久化标识(identi

7、fier)属性,对其调用save()如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save()如果对象是附带版本信息的(通过)并且版本属性的值表明其是一个新实例化的对象,save()它。否则update()这个对象10.Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。getHiberanteTemplate里面提供了save,update,delete,find等方

8、法。简单说一个:如果配置了声明式事务,当执行getHibernateTemplate的各种方法的时候,事务会自动被加载如果没有配置事务,那么以上操作不会真正的被同步到数据库,除非配置了hibernate的autocommit=true8.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。spring事务分两种形式,声明式事务和编程式事务,spring提供了一个事务的接口PaltformTractionMa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。