SSH框架(Struts+Spring+Hibernate)作为Java开发中的经典组合,一直是IT面试中的热门话题。以下是2023年最新的SSH框架面试题汇总,帮助你在面试中脱颖而出。
一、Hibernate部分
1. Hibernate的工作原理是什么?
- 读取并解析配置文件。
- 读取并解析映射信息,创建SessionFactory。
- 打开Session。
- 创建事务Transaction。
- 持久化操作。
- 提交事务。
- 关闭Session。
- 关闭SessionFactory。
2. Hibernate的优势是什么?
- 封装了JDBC操作,大大简化了数据访问层的重复性代码。
- 基于JDBC的主流持久化框架,是一个优秀的ORM实现。
- 使用Java反射机制,实现了透明性。
- 映射灵活,支持各种关系数据库,从一对一到多对多的复杂关系。
3. Hibernate的延迟加载是什么?
Hibernate在查询数据时,数据并不立即存在于内存中,而是当程序真正对数据进行操作时,对象才存在于内存中,这实现了延迟加载,节省了服务器的内存开销,提高了服务器性能。
二、Struts部分
1. Struts的工作流程是什么?
- 客户端浏览器发出HTTP请求。
- FilterDispatcher接收请求。
- 根据struts.xml配置,找到需要调用的Action类和方法。
- Action调用业务逻辑组件处理业务逻辑。
- Action执行完毕,根据struts.xml配置找到对应的返回结果result,并跳转到相应页面。
- 返回HTTP响应到客户端浏览器。
2. Struts的优缺点是什么?
- 优点:实现MVC模式,结构清晰;有丰富的taglib,提高开发效率;提供页面导航和Exception处理机制。
- 缺点:转向展示层时需要配置forward,业务变更频繁时需要频繁修改配置和重新部署。
三、Spring部分
1. Spring的核心概念是什么?
- BeanFactory:配置、创建、管理bean的容器,也称为bean上下文。
- Spring的配置文件:用于指定属性值为spring容器中的其它bean。
2. Spring实现了哪些设计模式?
- 工厂模式:用于创建对象。
- 单例模式:确保一个类只有一个实例,并提供全局访问点。
以上内容涵盖了SSH框架中的Hibernate、Struts和Spring的核心概念和常见问题,加粗加红的部分是面试中的重点内容,希望对你有所帮助。祝你面试顺利!