Hibernate-Spring-Struts面试题目
【Spring 框架知识点】 Spring 是一个开源的 Java 平台,主要用于简化企业级应用程序开发。它提供了全面的编程和配置模型,使得应用程序能够更好地解耦,提高可测试性和可维护性。Spring 包括核心容器(Core Container)、数据访问/集成(Data Access/Integration)、Web、AOP(面向切面编程)、工具类(Tools)和测试模块。其中,IoC(控制反转)和DI(依赖注入)是Spring的核心特性,它们帮助开发者管理对象的生命周期和依赖关系。 【Hibernate ORM 知识点】 Hibernate 是一个流行的Java持久化框架,用于简化数据库操作。它的主要优点包括: 1. 封装JDBC,减少重复代码。 2. 实现ORM(对象关系映射),让开发者可以使用面向对象的方式处理数据库操作。 3. 支持延迟加载(Lazy Loading),提高性能。 4. 提供强大的查询语言HQL(Hibernate Query Language)和Criteria API,可以进行复杂的数据库查询。 5. 内置缓存机制,分为一级缓存(Session级别)和二级缓存(SessionFactory级别),可选第三方缓存实现如 EhCache 和 Infinispan。 【延迟加载】 延迟加载允许对象在需要时才从数据库加载,从而节省内存。在Hibernate中,可以通过注解或XML配置来实现对象属性和集合的延迟加载。 【类间关系映射】 Hibernate 支持多种对象关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。映射通过配置文件(通常为.hbm.xml文件)或注解实现。 【Hibernate 缓存机制】 一级缓存是Session级别的,自动管理对象的状态,所有对持久化对象的修改都会在一级缓存中反映。二级缓存可配置为应用级或分布式缓存,用于存储整个SessionFactory生命周期内的对象。 【查询方式】 Hibernate 支持SQL查询、Criteria API和HQL。HQL支持属性查询、参数查询、关联查询、分页和统计函数。 【优化Hibernate】 1. 避免单向一对多,使用双向一对多关联。 2. 灵活使用单向一对多,减少不必要的对象加载。 3. 尽量用多对一替换一对一,以减少冗余。 4. 配置对象缓存,避免使用集合缓存,减少内存消耗。 5. 使用Bag表示一对多集合,用Set表示多对多集合,以实现无序和去重。 6. 显式多态处理继承类,避免查询性能问题。 7. 减少表字段数量,增加表关联,利用二级缓存提高性能。 【Struts 框架知识点】 Struts 是基于MVC设计模式的Web应用程序框架。其工作机制如下: 1. Web应用启动时加载ActionServlet,读取struts-config.xml配置。 2. 用户请求到达时,ActionServlet查找匹配的ActionMapping。 3. 如果需要,创建ActionForm对象,并将表单数据保存。 4. 表单验证,通过validate()方法。 5. 验证成功后,ActionServlet调用Action的execute()方法。 6. Action的execute()返回ActionForward,指示请求转发给哪个JSP。 7. JSP生成动态网页,返回给客户端。 使用Struts的原因: 1. 规范化JSP、Servlet、JavaBean的使用,减少混乱。 2. 提供统一的处理流程,便于开发和维护。 3. 提供表单验证、国际化等高级功能。 4. 支持插件和扩展,易于构建大型应用程序。
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助