Spring面试题和答案.doc

上传人:b****2 文档编号:982445 上传时间:2022-10-14 格式:DOC 页数:23 大小:201.84KB
下载 相关 举报
Spring面试题和答案.doc_第1页
第1页 / 共23页
Spring面试题和答案.doc_第2页
第2页 / 共23页
Spring面试题和答案.doc_第3页
第3页 / 共23页
Spring面试题和答案.doc_第4页
第4页 / 共23页
Spring面试题和答案.doc_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Spring面试题和答案.doc

《Spring面试题和答案.doc》由会员分享,可在线阅读,更多相关《Spring面试题和答案.doc(23页珍藏版)》请在冰豆网上搜索。

Spring面试题和答案.doc

 阅读目录

·1. 什么是spring?

·2. 使用Spring框架的好处是什么?

·3.  Spring由哪些模块组成?

·4.核心容器(应用上下文) 模块。

·5. BeanFactory – BeanFactory 实现举例。

·6. XMLBeanFactory 

·7. 解释AOP模块

·8. 解释JDBC抽象和DAO模块。

·9. 解释对象/关系映射集成模块。

·10.  解释WEB 模块。

·12.  Spring配置文件

·13.  什么是Spring IOC 容器?

·14.  IOC的优点是什么?

·15. ApplicationContext通常的实现是什么?

·16. Bean 工厂和 Application contexts  有什么区别?

·17. 一个Spring的应用看起来象什么?

·18. 什么是Spring的依赖注入?

·19.  有哪些不同类型的IOC(依赖注入)方式?

·20. 哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?

·21.什么是Spring beans?

·22. 一个 Spring Bean 定义 包含什么?

·23. 如何给Spring 容器提供配置元数据?

·24. 你怎样定义类的作用域?

·25. 解释Spring支持的几种bean的作用域。

·26. Spring框架中的单例bean是线程安全的吗?

·27. 解释Spring框架中bean的生命周期。

·28.  哪些是重要的bean生命周期方法?

 你能重载它们吗?

·29. 什么是Spring的内部bean?

·30. 在 Spring中如何注入一个java集合?

·31. 什么是bean装配?

·32. 什么是bean的自动装配?

·33. 解释不同方式的自动装配 。

·34.自动装配有哪些局限性 ?

·35. 你可以在Spring中注入一个null 和一个空字符串吗?

·36. 什么是基于Java的Spring注解配置?

 给一些注解的例子.

·37. 什么是基于注解的容器配置?

·38. 怎样开启注解装配?

·39. @Required  注解

·40. @Autowired 注解

·41. @Qualifier 注解

·42.在Spring框架中如何更有效地使用JDBC?

·43. JdbcTemplate

·44. Spring对DAO的支持

·45.使用Spring通过什么方式访问Hibernate?

·46. Spring支持的ORM

·47.如何通过HibernateDaoSupport将Spring和Hibernate结合起来?

·48. Spring支持的事务管理类型

·49. Spring框架的事务管理有哪些优点?

·50. 你更倾向用那种事务管理类型?

·51.  解释AOP

·52. Aspect 切面

·52. 在Spring AOP 中,关注点和横切关注的区别是什么?

·54. 连接点

·55. 通知

·56. 切点

·57. 什么是引入?

·58. 什么是目标对象?

·59. 什么是代理?

·60. 有几种不同类型的自动代理?

·61. 什么是织入。

什么是织入应用的不同点?

·62. 解释基于XML Schema方式的切面实现。

·63. 解释基于注解的切面实现

·64. 什么是Spring的MVC框架?

·65. DispatcherServlet

·66. WebApplicationContext

·67. 什么是Spring MVC框架的控制器?

·68. @Controller 注解

·69. @RequestMapping 注解

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,Hibernate 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 – 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和 iBATIS SQL Maps。

Spring的事务管理同样支持以上所有ORM框架及JDBC。

10.  解释WEB 模块。

Spring的WEB模块是构建在application context 模块基础之上,提供一个适合web应用的上下文。

这个模块也包括支持多种面向web的任务,如透明地处理多个文件上传请求和程序级请求参数的绑定到你的业务对象。

它也有对Jakarta Struts的支持。

12.  Spring配置文件

Spring配置文件是个XML 文件,这个文件包含了类信息,描述了如何配置它们,以及如何相互调用。

13.  什么是Spring IOC 容器?

Spring IOC 负责创建对象,管理对象(通过依赖注入(DI),装配对象,配置对象,并且管理这些对象的整个生命周期。

14.  IOC的优点是什么?

IOC 或 依赖注入把应用的代码量降到最低。

它使应用容易测试,单元测试不再需要单例和JNDI查找机制。

最小的代价和最小的侵入性使松散耦合得以实现。

IOC容器支持加载服务时的饿汉式初始化和懒加载。

15. ApplicationContext通常的实现是什么?

·FileSystemXmlApplicationContext :

此容器从一个XML文件中加载beans的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数。

·ClassPathXmlApplicationContext:

此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。

·WebXmlApplicationContext:

此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean。

16. Bean 工厂和 Application contexts  有什么区别?

Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件。

另外,在容器或容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以在Application contexts中以声明的方式处理。

Application contexts实现了MessageSource接口,该接口的实现以可插拔的方式提供获取本地化消息的方法。

17. 一个Spring的应用看起来象什么?

·一个定义了一些功能的接口。

·这实现包括属性,它的Setter,getter 方法和函数等。

·Spring AOP。

·Spring 的XML 配置文件。

·使用以上功能的客户端程序。

依赖注入

18. 什么是Spring的依赖注入?

依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。

这概念是说你不用创建对象,而只需要描述它如何被创建。

你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。

19.  有哪些不同类型的IOC(依赖注入)方式?

·构造器依赖注入:

构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。

·Setter方法注入:

Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。

20. 哪种依赖注入方式你建议使用,构造器注入,还是 Setter方法注入?

你两种依赖方式都可以使用,构造器注入和Setter方法注入。

最好的解决方案是用构造器参数实现强制依赖,setter方法实现可选依赖。

Spring Beans

21.什么是Spring beans?

Spring beans 是那些形成Spring应用的主干的java对象。

它们被Spring IOC容器初始化,装配,和管理。

这些beans通过容器中配置的元数据创建。

比如,以XML文件中 的形式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1