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 的支持。