Spring,hibernate,struts的面试笔试题

来源:互联网 发布:机械制图软件哪个好 编辑:程序博客网 时间:2024/04/30 12:19
Spring,hibernate,struts的面试笔试题
1.strust的。 
Action是不是线程安全的?如果不是 
有什么方式可以保证Action的线程安全?如果是,说明原因 


2.MVC,分析一下struts是如何实现MVC的 


3.struts中的几个关键对象的作用(说说几个关键对象的作用) 


4.spring 
说说AOP和IOC的概念以及在spring中是如何应用的 


5.Hibernate有哪几种查询数据的方式 


6.load()和get()的区别 


1.不是线程安全的。只要不申明类变量就可以保证线程安全。因为只存在一个Action类实例,所有线程会共享类变量。 
2.好笼统,ActionServlet实现控制层,丰富的标签库提供视图层的良好支持 
3.ActionServlet,requestProcess,ActionForm,Action等等 
4.由spring完成AOP(面向切面),IOC(注入) 
5.3种,HQL,QBC,SQL 
6.如果查询不到记录,load方法会抛出异常,get方法返回null 






1.谈谈hibernate的延迟加载和openSessionInView 


3.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。 


9.Hibernate的主键生成机制increment,native,identity,assigned,sequence 




1、 简述你对IoC(Inversion of Control)的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。 




2、 Spring的Bean有多种作用域,包括: 


singleton、prototype、request、session、global session、application、自定义 




3、 简单描述Spring framework与Struts的不同之处,整合Spring与Struts有哪些方法,哪种最好,为什么? 




4、 Hibernate中的update()和saveOrUpdate()的区别 




5、 Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。 






答案: 


1、 好莱坞原则 不要打电话找我,我会打给你的。IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持。(详见http://martinfowler.com/articles/injection.html,以及http://www.redsaga.com/spring_ref/2.0/html/beans.html#beans-factory-collaborators) 




2、 除application(详见Spring framework 2.0 Reference的3.4节bean的作用域) 




3、 Spring是完整的一站式框架,而Struts仅是MVC框架,且着重于MVC中的C。Spring有三种方式整合Struts:使用 Spring 的 ActionSupport 类整合 Struts;使用 Spring 的 DelegatingRequestProcessor 覆盖 Struts 的 RequestProcessor;将 Struts Action 管理委托给 Spring 框架,动作委托最好。(详见使用Spring 更好地处理Struts 动作) 


Spring 2.0新增一种方式:AutowiringRequestProcessor。(详见http://www.javaeye.com/topic/24239) 




4、 saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下: 


如果对象在该session中已经被持久化,不进行操作; 


对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它; 


如果session中的另一个对象有相同的标识符抛出一个异常; 


以上皆不符合则调用update()更新之。 




5、 在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。 


在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。(详见Spring framework 2.0 Reference的12.2节Hibernate) 


声明式事务需声明事务管理器,在context中设置指定属性,用确定和。 


1.简述一下spring,hibernate,struts 
2.说一说spring,hibernate,struts的优缺点 
原创粉丝点击