69 道 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 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和依赖从正真
的应用代码中分离。