原创 Java开发Spring常见面试题及答案分享

发布时间:2020-03-30 16:47:14 浏览 1222 来源:博学谷 作者:吾非鱼

      Spring是java企业级应用的开源开发框架,在企业中应用较多。作为轻量级的Java开发框架解决企业应用开发的复杂性而创建,博学谷Java培训班为大家总结Spring常见面试题及答案,希望可以帮助正在面试的Java程序员。

     

    Java开发Spring常见面试题
      Spring常见面试题及答案分享:


      一、spring是什么?
      Spring是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。


      二、使用Spring框架的好处?
      轻量:Spring是轻量的,基本的版本大约2MB。
      控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对象们。
      面向切面的编程(AOP):Spring支持面向切面的编程,并且把应用业务逻辑和系统服务分开。
      容器:Spring包含并管理应用中对象的生命周期和配置。
      MVC框架:Spring的WEB框架是个精心设计的框架,是Web框架的一个很好的替代品。
      事务管理:Spring提供一个持续的事务管理接口,可以扩展到上至本地事务下至全局事务(JTA)。
      异常处理:Spring提供方便的API把具体技术相关的异常(比如由JDBC,Hibernate or JDO抛出的)转化为一致的unchecked异常。


      三、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


      四、核心容器模块有哪些?
      提供spring框架的基础功能,BeanFactory是 任何以spring为基础的应用的核心。Spring框架建立在此模块之上,使Spring成为一个容器。


      五、XMLBeanFactory
      最常用的就是org.springframework.beans.factory.xml.XmlBeanFactory,它根据XML文件中的定义加载beans。该容器从XML文件读取配置元数据并用它去创建一个完全配置的系统或应用。


      六、解释AOP模块是什么?
      AOP模块用于发给我们的Spring应用做面向切面的开发, 很多支持由AOP联盟提供,这样就确保了Spring和其他AOP框架的共通性。这个模块将元数据编程引入Spring。


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


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


      九、解释WEB模块。
      Spring的WEB模块是构建在application context模块基础之上,提供一个适合web应用的上下文。这个模块也包括支持多种面向web的任务,如透明地处理多个文件上传请求和程序级请求参数的绑定到你的业务对象。它也有对Jakarta Struts的支持。


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


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


      十二、ApplicationContext实现方式
      FileSystemXmlApplicationContext:此容器从一个XML文件中加载beans的定义,XML Bean配置文件的全路径名必须提供给它的构造函数。ClassPathXmlApplicationContext:此容器也从一个XML文件中加载beans的定义,这里,你需要正确设置classpath因为这个容器将在classpath里找bean配置。WebXmlApplicationContext:此容器加载一个XML文件,此文件定义了一个WEB应用的所有bean。


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


      十四、有哪些不同类型的IOC依赖注入方式?
      构造器依赖注入:构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖。
      Setter方法注入:Setter方法注入是容器通过调用无参构造器或无参static工厂 方法实例化bean之后,调用该bean的setter方法,即实现了基于setter的依赖注入。


      十五、Spring容器配置元数据?
      Spring容器提供配置元数据
      XML配置文件;基于注解的配置;基于java的配置。


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


      十七、Spring内部bean是什么?
      当一个bean仅被用作另一个bean的属性时,它能被声明为一个内部bean,为了定义inner bean,在Spring的 基于XML的 配置元数据中,可以在<property/>或<constructor-arg/>元素内使用<bean/>元素,内部bean通常是匿名的,它们的Scope一般是prototype。


      十八、在Spring中如何注入一个java集合?
      Spring提供以下几种集合的配置元素:
      <list>类型用于注入一列值,允许有相同的值。
      <set>类型用于注入一组值,不允许有相同的值。
      <map>类型用于注入一组键值对,键和值都可以为任意类型。
      <props>类型用于注入一组键值对,键和值都只能为String类型。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 新手学Java编程语言怎么入门? 下一篇: Java编程语言开发大数据的优势有哪些?

相关推荐 更多

热门文章

  • 女生学软件测试还是前端好?怎么选?
  • 产品经理岗位职责及工作内容有哪些?
  • Hadoop HDFS分布式文件系统原理及应用介绍
  • POST请求与GET请求的区别是什么?
  • Python入门课程讲什么知识点?
  • 30岁产品经理还有人要吗?能转行吗?
  • 大数据开发培训哪家好?怎么选?
  • Java常用设计模式及应用场景介绍
  • 平面设计师要学什么?任职有哪些要求?
  • Spark与Hadoop大数据计算框架区别是什么?
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码