Spring面试题
1.什么是spring?
Spring 是个 java 企业级应用的开源开发框架。Spring 主要用来开发 Java 应用, 但是有些扩展是针对构建 J2EE 平台的 web 应用。Spring 框架目标是简化 Java 企业级应用开发,并通过 POJO 为基础的编程模型促进良好的编程习惯。
2.使用Spring框架的好处是什么?
轻量:Spring是轻量的,基本的版本大约2MB。
控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依 赖,而不是创建或查找依赖的对象们。
面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务 逻辑和系统服务分开。
容器:Spring包含并管理应用中对象的生命周期和配置。
MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的 一个很好的替代品。
事务管理:Spring提供一个持续的事务管理接口,可以扩展到上至本地 事务下至全局事务(JTA)。
异常处理:Spring提供方便的API把具体技术相关的异常(比如由 JDBC,HibernateorJDO 抛出的)转化为一致的 unchecked 异常。
3.Spring由哪些模块组成?
以下是 Spring 框架的基本模块:
Coremodule Beanmodule Contextmodule
ExpressionLanguagemodule JDBCmodule ORMmodule OXMmodule
JavaMessagingService(JMS)module Transactionmodule Webmodule Web-Servletmodule
Web-Strutsmodule Web-Portletmodule
4.核心容器(应用上下文)模块。
这是基本的 Spring 模块,提供 spring 框架的基础功能,BeanFactory 是任何 以 spring 为基础的应用的核心。Spring 框架建立在此模块之上,它使 Spring 成为一个容器。
5.BeanFactory–BeanFactory实现举例。
Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和 依赖从正真的应用代码中分离。
最常用的 BeanFactory 实现是 XmlBeanFactory 类。
6.XMLBeanFactory
最常用的就是 org.springframework.beans.factory.xml.XmlBeanFactory, 它根据 XML 文件中的定义加载 beans。该容器从 XML 文件读取配置元数据并 用它去创建一个完全配置的系统或应用。
7.解释AOP模块
AOP 模块用于发给我们的 Spring 应用做面向切面的开发,很多支持由 AOP 联 盟提供,这样就确保了 Spring 和其他 AOP 框架的共通性。这个模块将元数据 编程引入 Spring。
8.解释JDBC抽象和DAO模块。
通过使用 JDBC 抽象和 DAO 模块,保证数据库代码的简洁,并能避免数据库资 源错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个 统一的异常访问层。它还利用 Spring 的 AOP 模块给 Spring 应用中的对象提供 事务管理服务。
9.解释对象/关系映射集成模块。
Spring 通过提供 ORM 模块,支持我们在直接 JDBC 之上使用一个对象/关系映 射映射(ORM)工具,Spring支持集成主流的ORM框架,如Hiberate,JDO和 iBATISSQLMaps。Spring 的事务管理同样支持以上所有 ORM 框架及 JDBC。
10.解释WEB模块。
Spring 的 WEB 模块是构建在 applicationcontext 模块基础之上,提供一个适 合 web 应用的上下文。这个模块也包括支持多种面向 web 的任务,如透明地 处理多个文件上传请求和程序级请求参数的绑定到你的业务对象。它也有对 JakartaStruts 的支持。
11.为什么说Spring是一个容器?
因为用来形容它用来存储单例的bean对象这个特性。
12.Spring配置文件
71.Spring事务支持的隔离级别
Spring 事务上提供以下的隔离级别:
ISOLATION_DEFAULT: 使用后端数据库默认的隔离级别
ISOLATION_READ_UNCOMMITTED : 允许读取未提交的数据变更, 可能会导致脏读,幻读或不可重复读
ISOLATION_READ_COMMITTD : 允许读取为提交数据,可以阻止脏读, 当时幻读或不可重复读仍可能发生
ISOLATION_REPEATABLE_READ: 对统一字段多次读取结果是一致的, 除非数据是被本事务自己修改.可以阻止脏读,不可重复读,但幻读可能 发生
ISOLATION_SERIALIZABLE : 完全服从 ACID
Spring面试题



