1、 简述你对IoC(Inversion of Control)的理解,描述一下Spring中实现DI(Dependency Injection)的几种方式。
答:IoC将创建的职责从应用程序代码搬到了框架中。Spring对Setter注入和构造方法注入提供支持。(详见http://martinfowler.com/articles/injection.html,以及http: //www.redsaga.com/spring_ref/2.0/html/beans.html#beans-factory- collaborators)
2、 Spring的Bean有多种作用域,包括:
singleton、prototype、request、session、global session、application、自定义
3、 简单描述Spring framework与Struts的不同之处,整合Spring与Struts有哪些方法,哪种最好,为什么?
答: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、 Hibernate中的update()和saveOrUpdate()的区别
答:saveOrUpdate()方法可以实现update()的功能,但会多些步骤,具体如下:
如果对象在该session中已经被持久化,不进行操作;
对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用save()方法保存它;
如果session中的另一个对象有相同的标识符抛出一个异常;
以上皆不符合则调用update()更新之。
5、 Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。
答:在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。
在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。(详见Spring framework 2.0 Reference的12.2节Hibernate)
声明式事务需声明事务管理器,在context中设置指定属性,用确定和。
分享到:
相关推荐
这些面试题涵盖了Hibernate、Struts和Spring的主要概念、工作原理和最佳实践,深入理解和掌握这些知识点对于Java开发者来说至关重要。在实际面试中,除了基础理论知识,面试官还会关注开发者在项目中如何应用这些...
以下是对SSH面试题中涉及的一些核心知识点的详细解释: 1. **Hibernate 工作原理** Hibernate 的工作流程主要包括: - 读取`hibernate.cfg.xml`配置文件,创建`Configuration`实例,加载类映射信息。 - `...
在Java Web开发中,Struts、Spring和Hibernate是最常见的三大框架,它们...以上就是关于Struts、Spring和Hibernate面试题的详细解析,涵盖了这三大框架的关键概念和使用技巧,对于理解和解答相关面试问题非常有帮助。
Struts+Hibernate+Spring面试题通常涉及到这三大框架在企业级应用开发中的核心概念和实践。以下是关于这些面试题的详细解答: 1. Hibernate部分: - Hibernate工作原理:Hibernate是一个对象关系映射(ORM)框架,...
在面试中,了解Struts2的核心组件及其与Struts1的区别是至关重要的。熟悉这些知识点可以帮助开发者在实际项目中更有效地利用Struts2框架,提高开发效率和应用的质量。同时,理解Web项目开发的角色划分和流程规范,也...
标题和描述指向的是一个关于Struts、Spring和Hibernate技术栈的面试题集合,这份文档旨在帮助准备面试的软件工程师理解并复习这些关键技术点。以下是基于给定内容的关键知识点的详细阐述: ### 1. Action的线程安全...
Struts2、Spring和Hibernate(SSH)是Java企业级开发中的三大主流框架,它们共同构建了一个强大的MVC(模型-视图-控制器)架构。在面试中,掌握这些框架的基本概念、工作原理以及最佳实践至关重要,尤其是对于刚踏入...
### Struts + Spring + Hibernate 面试题解析 #### 1. AOP 和 IOC 的概念以及在 Spring 中的应用 **AOP(Aspect Oriented Programming,面向切面编程)**: 是一种编程思想,它允许程序员定义“切面”来封装那些...
Struts、Spring和Hibernate是Java Web开发中...以上是对Struts、Spring和Hibernate相关面试题的详细解答,涵盖了它们的主要概念、功能和使用方法。在实际项目中,这三大框架的集成使用能极大地提高开发效率和代码质量。
### Spring + Struts + Hibernate 面试题解析 #### 一、Struts 相关面试题 **1. Action 是否是线程安全的?如果不是,有什么方式可以保证 Action 的线程安全?如果是,请说明原因** - **Struts 1 中 Action 的...
### SSH (Struts + Spring + Hibernate) 面试题知识点详解 #### 1. Hibernate 工作原理及其重要性 **原理:** 1. **读取并解析配置文件:** Hibernate 使用配置文件来指定数据库连接信息、事务管理策略等设置。 2....
【面试题总结】 1. 了解Struts的工作流程和优缺点,理解Action的线程安全性问题。 2. 理解MVC模式,知道Struts如何实现MVC,以及MVC的组成部分。 3. 熟悉Spring的AOP和IOC概念,理解它们在Spring中的应用。 4. 掌握...
SSH,即Struts、Spring和Hibernate,是Java Web开发中常用的三大框架,分别负责MVC模式中的表现层、业务层和服务层。以下是对这些框架在面试中常见的问题及其答案的详细解析: 1. **Hibernate工作原理及为什么要用*...
【面试&笔试题要点】 1. Hibernate的工作原理:涉及配置文件解析、SessionFactory创建、Session操作、事务管理和关闭流程。 2. Hibernate的使用理由:封装JDBC、简化DAO层、基于反射、性能优秀、支持多种关系。 3. ...
在准备这些面试题时,除了理论知识,实践经验和项目案例同样重要。能够结合实际项目描述这三个框架的使用情况,以及遇到的问题和解决方案,将大大提升你的面试表现。因此,复习时不仅要熟悉每个框架的基本概念和用法...
Struts、Hibernate和Spring是Java开发中常用的三大框架,它们分别负责表现层、持久层和业务层的管理。下面是对这三个框架的一些核心概念和面试题目的详细解释。 **Struts框架** 1. **Action类**:Action类是Struts...
Java的基础面试题通常涵盖语言的基本概念、数据类型、内存管理、类库和开发环境等方面。 首先,Java是一种先编译后解释运行的语言。源代码首先通过Java编译器转化为字节码,然后由Java虚拟机(JVM)进行解释执行。...
Struts、Hibernate 和 Spring 经典面试题 以下是对 Struts、Hibernate 和 Spring 的经典面试题的总结,涵盖了这些框架的工作机制、优点、缓存机制、查询方式、优化方法等知识点。 Hibernate 1. Hibernate 工作...