【Spring】Spring经典面试题

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,Hibetnate or JDO 抛出的)转化为一致的unchecked异常。
3.Spring由哪些模块组成?
以下是Spring框架的基本模块:
Core module
Bean module
Context module
Expression Language module
JDBC module
ORM module
OXM module
Java Messaging Service(JMS)module
Transaction module
Web module
Web-Servlet module
Web-Struts module
Web-Portlet module
4. 核心容器(应用上下文)模块
这是基本的Spring模块,提供Spring框架的基本功能,BeanFactory是任何以Spring为基础的应用的核心。Spring框架建立在此模块之上,它使Spring成为一个容器。
5. BeanFactory-BeanFactroy实现举例
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框架,如Hibernate,JDO和iBatis SQLMaps。Spring的事务管理同样支持以上所有ORM框架及JDBC。
10. 解释web模块
Spring的web模块是构建在application context模块基础之上,提供一个适合web应用的上下文。这个模块也包括支持多种面向web的任务,如透明的处理多个文件上传请求和程序级请求参数的绑定到你的业务对象。
11. Spring配置文件
Spring配置文件是个XML 文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用。
12. 什么是Spring IOC容器?
Spring IOC负责创建对象,管理对象(通过依赖注入(DI)),装配对象,配置对象,并且管理这些对象的整个生命周期。
13. IOC的优点是什么?
IOC或依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和JNDI查找机制。最小的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载。
待续。。。

猜你喜欢

转载自blog.csdn.net/renjingjingya0429/article/details/90052472