博学谷 > 资讯 > Java > Java程序员Spring框架面试题汇总附答案

原创 Java程序员Spring框架面试题汇总附答案

发布时间:2019-11-21 15:51:56 浏览 128 来源:博学谷 作者:照照

    Spring框架对于服务器端的开发大有帮助,无论从简单性、可测试性和松耦合性角度来说,Java应用都可以从Spring中受益。本文整理汇总了Java程序员在面试中关于Spring框架的面试题,涉及大量Spring框架知识点,不会做的话还可以参考答案,有面试需求的朋友赶紧来刷题吧!

     

    Spring框架面试题

     

    1、什么是Spring的MVC框架?

     

    答案:Spring 配备构建Web 应用的全功能MVC框架。Spring可以很便捷地和其他MVC框架集成,如Struts,Spring 的MVC框架用控制反转把业务对象和控制逻辑清晰地隔离。它也允许以声明的方式把请求参数和业务对象绑定。

     

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

     

    答案:

    轻量:Spring 是轻量的,基本的版本大约2MB。

    控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。

    面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。

    容器:Spring 包含并管理应用中对象的生命周期和配置。

    MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。

    事务管理:Spring 提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。

    异常处理:Spring 提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked 异常。

     

    3、解释JDBC抽象和DAO模块。

     

    答案:通过使用JDBC抽象和DAO模块,保证数据库代码的简洁,并能避免数据库资源错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个统一的异常访问层。它还利用Spring的AOP 模块给Spring应用中的对象提供事务管理服务。

     

    4、解释对象/关系映射集成模块。

     

    答案:Spring 通过提供ORM模块,支持我们在直接JDBC之上使用一个对象/关系映射映射(ORM)工具,Spring 支持集成主流的ORM框架,如Hiberate,JDO和 iBATIS SQLMaps。Spring的事务管理同样支持以上所有ORM框架及JDBC。

     

    5、IOC的优点是什么?

     

    答案:IOC 或 依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和JNDI查找机制。最小的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载。

     

    6、Bean 工厂和 Application contexts 有什么区别?

     

    答案:Application contexts提供一种方法处理文本消息,一个通常的做法是加载文件资源(比如镜像),它们可以向注册为监听器的bean发布事件。另外,在容器或容器内的对象上执行的那些不得不由bean工厂以程序化方式处理的操作,可以在Application contexts中以声明的方式处理。Application contexts实现了MessageSource接口,该接口的实现以可插拔的方式提供获取本地化消息的方法。

     

    7、什么是Spring的依赖注入?

     

    答案:依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。

     

    8、你怎样定义类的作用域?

     

    答案:当定义一个<bean> 在Spring里,我们还能给这个bean声明一个作用域。它可以通过bean 定义中的scope属性来定义。如,当Spring要在需要的时候每次生产一个新的bean实例,bean的scope属性被指定为prototype。另一方面,一个bean每次使用的时候必须返回同一个实例,这个bean的scope 属性 必须设为 singleton。

     

    9、哪些是重要的bean生命周期方法? 你能重载它们吗?

     

    答案:有两个重要的bean 生命周期方法,第一个是setup , 它是在容器加载bean的时候被调用。第二个方法是 teardown 它是在容器卸载类的时候被调用。The bean 标签有两个重要的属性(init-method和destroy-method)。用它们你可以自己定制初始化和注销方法。它们也有相应的注解(@PostConstruct和@PreDestroy)。

     

    10、在 Spring中如何注入一个java集合?

     

    答案:Spring提供以下几种集合的配置元素:

    <list>类型用于注入一列值,允许有相同的值。

    <set> 类型用于注入一组值,不允许有相同的值。

    <map> 类型用于注入一组键值对,键和值都可以为任意类型。

    <props>类型用于注入一组键值对,键和值都只能为String类型。

     

    11、什么是基于注解的容器配置?

     

    答案:相对于XML文件,注解型的配置依赖于通过字节码元数据装配组件,而非尖括号的声明。开发者通过在相应的类,方法或属性上使用注解的方式,直接组件类中进行配置,而不是使用xml表述bean的装配关系。

     

    12、Spring框架的事务管理有哪些优点?

     

    答案:它为不同的事务API 如 JTA,JDBC,Hibernate,JPA 和JDO,提供一个不变的编程模式;它为编程式事务管理提供了一套简单的API而不是一些复杂的事务API;它支持声明式事务管理;它和Spring各种数据访问抽象层很好得集成。

     

    13、什么是Spring MVC框架的控制器?

     

    答案:控制器提供一个访问应用程序的行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户的模型。Spring用一个非常抽象的方式实现了一个控制层,允许用户创建多种用途的控制器。

     

    以上就是Java程序员Spring框架面试题汇总。大家一定要记得刷一遍啊,别直接看参考答案,这样就达不到查漏补缺的效果了。最后祝愿大家都能通过面试,拿到满意岗位的offer!

上一篇:Java学习路线 博学谷Java课程大纲 下一篇:如何学Java语言从入门到精通

相关推荐 更多

最新文章

扫描二维码,回复"Java"获取180G资料包