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.iteye.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中设置指定属性,用确定和。
分享到:
相关推荐
Struts、Hibernate 和 Spring 经典面试题 以下是对 Struts、Hibernate 和 Spring 的经典面试题的总结,涵盖了这些框架的工作机制、优点、缓存机制、查询方式、优化方法等知识点。 Hibernate 1. Hibernate 工作...
以下是对SSH面试题中涉及的一些核心知识点的详细解释: 1. **Hibernate 工作原理** Hibernate 的工作流程主要包括: - 读取`hibernate.cfg.xml`配置文件,创建`Configuration`实例,加载类映射信息。 - `...
在Java Web开发中,Struts、Spring和Hibernate是最常见的三大框架,它们...以上就是关于Struts、Spring和Hibernate面试题的详细解析,涵盖了这三大框架的关键概念和使用技巧,对于理解和解答相关面试问题非常有帮助。
【Spring Struts Hibernate面试题详解】 在面试中,关于SSH(Spring、Struts、Hibernate)的知识点通常是Java Web开发人员必须掌握的核心内容。下面将详细解释这些技术的关键特性和应用场景。 1. **MVC设计模式** ...
一、Hibernate面试题分析: 1. Hibernate是什么?它与JDBC有什么区别? Hibernate是一个对象关系映射(ORM)框架,它将数据库操作转化为对Java对象的操作,简化了数据访问。与JDBC相比,Hibernate提供了更高级别的...
【面试&笔试题要点】 1. Hibernate的工作原理:涉及配置文件解析、SessionFactory创建、Session操作、事务管理和关闭流程。 2. Hibernate的使用理由:封装JDBC、简化DAO层、基于反射、性能优秀、支持多种关系。 3. ...
SSH,即Struts、Spring和Hibernate,是Java Web开发中常用的三大框架,分别负责MVC模式中的表现层、业务层和服务层。以下是对这些框架在面试中常见的问题及其答案的详细解析: 1. **Hibernate工作原理及为什么要用*...
一些关于Struts.Spring和Hibernate的经典面试题
在IT行业中,Spring、Struts和Hibernate是三个非常重要的Java框架,它们构成了经典的MVC(Model-View-Controller)架构,常用于企业级应用开发。面试时,掌握这些框架的基本概念、工作原理以及如何整合使用是非常...
Spring框架由多个模块组成,以下是其中一些关键模块: - **Core Module**: 提供了Spring框架的基础功能,包括依赖注入、事件传播、资源加载以及转换等功能。 - **Bean Module**: 包含BeanFactory接口的实现,用于...
### SSH (Struts + Spring + Hibernate) 面试题知识点详解 #### 1. Hibernate 工作原理及其重要性 **原理:** 1. **读取并解析配置文件:** Hibernate 使用配置文件来指定数据库连接信息、事务管理策略等设置。 2....
【hibernate面试题2】涉及了许多关于Hibernate框架的核心知识点,包括检索策略、SQL日志显示、缓存策略以及Hibernate与其他技术(如Spring和Struts)的整合。下面将逐一详细解析这些概念。 1. **Hibernate检索策略*...
标题和描述指向的是一个关于Struts、Spring和Hibernate技术栈的面试题集合,这份文档旨在帮助准备面试的软件工程师理解并复习这些关键技术点。以下是基于给定内容的关键知识点的详细阐述: ### 1. Action的线程安全...
这篇面试题总结主要涉及Servlet的基础知识,包括其生命周期、工作原理以及与Struts、Spring、Hibernate的关系。 1. Servlet生命周期: - 初始化阶段:Servlet容器在接收到web应用部署描述符(web.xml)中的`...
本资源主要关注的是J2EE相关的面试题目,特别是与三大主流框架——Hibernate、Spring和Struts紧密相关的部分。这些框架在现代企业级应用开发中占据了核心地位,理解并掌握它们是成为合格J2EE开发者的关键。 ...
最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题...14、Strut+Spring+Hibernate面试题 15、张孝祥整理Java就业面试题大全
Struts、Spring、Hibernate是Java开发中常用的三大框架,它们分别负责不同的职责。Struts作为MVC模式的实现,主要用于处理Web应用中的业务逻辑;Spring则是一个全面的后端解决方案,提供依赖注入、AOP(面向切面编程...
### Struts、Spring、Hibernate 面试题详解 #### 1. Action 是否线程安全?如果不是,如何保证 Action 的线程安全? - **答案**:通常情况下,Struts 的 Action 不是线程安全的。因为同一个 Action 实例可能会被多...
这些面试题涵盖了Hibernate、Struts和Spring的主要概念、工作原理和最佳实践,深入理解和掌握这些知识点对于Java开发者来说至关重要。在实际面试中,除了基础理论知识,面试官还会关注开发者在项目中如何应用这些...