Java SSH框架面试精要:集合、 ORM与事务处理

需积分: 9 7 下载量 161 浏览量 更新于2024-10-14 收藏 5KB TXT 举报
"这篇资料是关于SSH(Struts、Hibernate、Spring)的经典面试题汇总,内容涵盖Java集合框架、Spring ORM、HTTP相关知识以及SQL和Annotation的使用等核心概念。" 在Java集合框架中,主要涉及到`Collection`、`Map`两大类。`Collection`分为`List`和`Set`,其中`List`包括`ArrayList`、`LinkedList`和`Vector`,而`Set`有`HashSet`、`LinkedSet`(实现`SortedSet`接口)。具体来说,`ArrayList`适合随机访问,`LinkedList`适用于频繁进行插入和删除操作,`HashSet`不保证元素顺序,`LinkedHashSet`保持插入顺序,`TreeSet`则按自然排序或自定义比较器排序。 `Map`接口的实现类包括`HashMap`(支持`LinkedHashMap`)、`HashTable`(线程安全)和`Properties`。`HashMap`提供快速查找,`LinkedHashMap`保留插入顺序,`HashTable`在多线程环境下更安全,而`Properties`通常用于存储配置信息。`Map`接口中的`key`集合是一个`Set`,它不允许重复且无序。 在Spring ORM(对象关系映射)中,Spring提供了对Hibernate和JPA的支持。例如,可以使用`HibernateTransactionManager`处理Hibernate的事务,或者使用`JpaTransactionManager`处理JPA的事务。Spring ORM允许我们在不显式管理数据库连接的情况下,通过声明式事务管理进行持久化操作,提高了代码的可维护性。 HTTP相关知识包括HTTP请求和响应的处理。HTTP请求可以是GET或POST等方法,服务器根据请求类型处理并返回相应数据。GET请求通常用于获取资源,而POST请求用于提交数据。HTTP状态码表示请求的处理结果,如200表示成功,404表示未找到资源,500表示服务器内部错误。 SQL查询中,`DISTINCT`关键字用于去除结果集中的重复项。例如,`SELECT DISTINCT name, id FROM table`将返回唯一的`name`和`id`组合。Java中,可以使用`@Annotation`进行元数据注解,方便代码的编写和理解,例如在DAO层的注解可以使代码更加简洁。在使用注解时,可能需要配合Service层和DAO层的设计,例如`HibernateDaoSupport`和`ActionSupport`等工具类,以实现业务逻辑的解耦。 最后,IoC(Inversion of Control)即控制反转,是Spring框架的核心特性之一,它通过依赖注入实现组件间的松耦合。通过配置文件或注解方式,可以定义对象间的依赖关系,Spring容器负责创建和管理这些对象,从而降低了系统的复杂性。对于XML配置文件的维护,可以使用基于注解的方式减少XML的使用,提高代码的可读性和可维护性。此外,还可以通过存储过程来组织复杂的SQL操作,以提高执行效率,但需注意存储过程的可测试性和可维护性。