SSH框架面试精讲:Java Struts Hibernate Spring重点解析
4星 · 超过85%的资源 需积分: 9 65 浏览量
更新于2024-10-13
收藏 53KB DOC 举报
"SSH常见面试题,包括Struts、Hibernate、Spring相关的问题,涵盖了MVC模式、Struts的关键对象、Hibernate的查询方式、load与get的区别、Spring的事务管理及隔离级别和传播行为等核心概念。"
在Java Web开发中,SSH(Struts、Hibernate、Spring)是一个经典的开发框架组合。下面将深入讲解这些面试题所涉及的知识点:
1. MVC模式:MVC(Model-View-Controller)是一种设计模式,用于分离业务逻辑、视图展示和用户交互。在Struts中,Model通常由JavaBean或EJB组件(或简单的POJO)实现,负责业务数据的存储和处理;Controller由Action类实现,接收用户的请求并调用相应的业务逻辑;View则是一组JSP文件和标签,用于显示结果。
2. Struts中的关键对象:
- Action:控制器类,处理用户的请求,并调用模型进行业务处理。
- ActionForm:表单对象,通常对应HTML表单的数据,负责在Action和视图之间传递数据。
- DynaValidatorForm:动态表单,提供更灵活的数据绑定和验证功能。
- ActionMapping:配置文件中的action节点信息,定义了请求如何映射到Action类。
3. Hibernate查询数据的方式:
- HQL(Hibernate Query Language):面向对象的查询语言,类似于SQL,但操作对象而非表。
- SQL查询:直接执行SQL语句,可以访问数据库的所有功能。
- 条件查询:通过Criteria或Query API进行查询,更抽象且与数据库无关。
4. load()与get()的区别:
- load():假设对象一定存在,返回一个代理对象,首次访问其属性时才加载数据。如果数据库中不存在记录,会抛出ObjectNotFoundException。
- get():首先检查一级缓存,然后二级缓存,最后数据库。若找不到,则返回null。
5. Spring事务管理:
- 声明式事务:通过@Transactional注解在方法上声明事务边界,由Spring容器自动管理。
- 编程式事务:使用PlatformTransactionManager接口手动管理事务开始、提交、回滚等操作。
事务隔离级别:
- DEFAULT:使用数据库默认的隔离级别。
- READ_UNCOMMITTED:最低级别,可能出现脏读、不可重复读和幻影读。
- READ_COMMITTED:防止脏读,但可能有不可重复读和幻影读。
- REPEATABLE_READ:防止脏读和不可重复读,但可能有幻影读。
- SERIALIZABLE:最高级别,防止所有并发问题,但性能开销大。
事务传播行为:
- REQUIRED:默认行为,有事务就加入,无则新建。
- SUPPORTS:有事务则加入,无则不创建事务。
- MANDATORY:必须有事务,否则抛异常。
- REQUIRES_NEW:总是新建事务,原有事务被挂起。
- NOT_SUPPORTED:不支持事务,有事务则挂起。
- NEVER:不允许在事务中运行,有事务则抛异常。
- NESTED:嵌套事务,如果已有事务,则在其中开启子事务,否则新建事务。
6. Spring的其他特性:Spring还提供了依赖注入、AOP(面向切面编程)、Bean管理、JDBC模板、DAO支持、Web应用集成等多种功能,极大地简化了Java应用的开发和维护工作。在面试中,理解并能够阐述这些核心概念是至关重要的。
2010-06-30 上传
2010-02-09 上传
2024-01-23 上传
2011-06-07 上传
2018-06-01 上传
2013-09-18 上传
2022-07-14 上传
2012-01-16 上传
2012-09-16 上传
milo.qu
- 粉丝: 506
- 资源: 34
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析