Struts+Spring+Hibernate面试精华:线程安全、架构与关键技术
需积分: 9 194 浏览量
更新于2024-08-01
收藏 100KB DOC 举报
本文档主要围绕Struts、Spring和Hibernate这三个流行的Java Web开发框架进行深入探讨,旨在帮助求职者准备面试中关于这三个技术栈的问题。以下是详细的知识点解析:
1. **Struts Action的线程安全性**:
Struts的Action并非线程安全,因为每个Action实例可能会被多个请求共享,导致数据不一致。为了保证线程安全,可以采取以下策略:
- 声明局部变量,使得每次请求都创建一个新的Action实例。
- 使用Spring的`prototype`作用域,Spring会为每个请求创建一个新的Action实例。
2. **Struts的MVC架构**:
- Model(M): Struts主要通过JavaBean或EJB组件(如业务逻辑层)构建模型,处理业务逻辑。
- View(V): 由JSP页面和标签库组成,负责展示用户界面。
- Controller(C): 动作(Action)类是控制器,接收用户的请求并调用Model处理,然后将结果返回给View。
3. **Struts的关键对象**:
- `Action`: 控制器,负责处理HTTP请求,调用业务逻辑。
- `ActionForm`: 表单对象,用于保存用户输入数据。
- `DynaValidatorForm`: 动态表单,提供了更灵活的验证机制。
- `ActionMapping`: 配置文件中的动作映射,定义了Action与URL之间的关系。
4. **Spring的AOP和IoC**:
- AOP (面向切面编程): 用于模块化关注点(如日志、事务管理),在运行时动态地应用这些关注点,提高代码的可维护性。
- IoC (依赖注入): Spring的核心概念,允许在运行时自动管理对象间的依赖关系,降低了代码耦合度。
5. **Hibernate查询方式**:
Hibernate支持多种查询数据方式:
- HQL (Hibernate Query Language): 高级SQL查询语言,面向对象的查询方式。
- SQL查询: 直接使用原生SQL语句。
- 条件查询: 提供了Criteria API和HQL表达式,实现基于条件的灵活查询。
6. **Hibernate的`load()`与`get()`方法区别**:
- `load()`: 异步加载,假设数据存在,返回懒加载的代理对象,如果不存在则抛出异常。它会优先检查session缓存。
- `get()`: 如果数据在一级缓存中,直接返回;否则查询二级缓存或数据库,如果没有找到则返回null。
7. **Hibernate的延迟加载和`openSessionInView`**:
- 延迟加载: 仅在真正需要数据时才会从数据库加载,提高性能。需在session作用域内使用。
- `openSessionInView`: 开启策略,使得每个HTTP请求开始时都会打开一个持久化上下文,直到请求结束,有助于减少事务管理复杂性,但可能导致内存消耗增加。
掌握以上知识点,不仅能够提升在Struts+Spring+Hibernate面试中的表现,还能加深对这三个框架的理解和实际应用能力。
123 浏览量
2022-11-11 上传
167 浏览量
2021-09-17 上传
2022-11-11 上传
163 浏览量
2019-07-15 上传
2011-11-25 上传
ycm236815131
- 粉丝: 3
- 资源: 14
最新资源
- torch_cluster-1.5.6-cp38-cp38-win_amd64whl.zip
- librtmp zlib openssl源码 编译方法 编译工具 编译好的librtmp.lib合集.zip
- gimp-plugin-helloworld:GIMP插件Hello World示例
- doncidomper
- matlab的slam代码-LIR-SLAM:基于MATLAB的SLAM
- 统一配置文件操作接口INI_XML_JSON_DB_ENDB
- sanic-dispatcher:Sanic的Dispatcher扩展,还可以用作Sanic到WSGI的适配器
- 歌词
- torch_sparse-0.6.5-cp36-cp36m-linux_x86_64whl.zip
- hello:你好科尔多瓦
- redis-5.0.8.zip
- pretweetify-crx插件
- 人力资源管理企业文化PPT
- my-repo-from-remote:此存储库是从Github创建的
- slackhook:轻松将Slack Webhook集成添加到您的Ruby应用程序
- 温湿度控制电路图.rar