春季面试常见问题解答

春季面试题

在这篇文章中,我们将看到Spring访谈访谈问题。如果您是Java / j2ee开发人员,并且有一定的经验 春天,您将面对Spring面试问题。

在这里,我分享了一些重要的春季面试问题。

1.什么是Spring框架?

春季框架 是一个开放源代码框架,旨在解决企业应用程序开发的复杂性。 Spring框架的主要优点之一是其分层体系结构,该体系结构使您可以选择使用哪个组件。 Spring的主要模块是Spring核心,Spring AOP和Spring MVC。

2. Spring框架的主要特征是什么?

  • Lightweight:

    在尺寸和透明度方面,spring是轻量级的。 spring框架的基本版本约为1MB。而且处理开销也可以忽略不计。
  • 控制反转(IOC):
    依赖注入或控制反转的基本概念是,程序员无需创建对象,而只需描述应如何创建对象即可。
  • 面向方面(AOP): 

    春天支持面向方面的编程。
    面向方面的编程 指将辅助功能或支持功能与主程序隔离开的编程范例’的业务逻辑。 AOP是用于分离横切关注点的有前途的技术,这在面向对象的编程中通常很难做到。应用程序’这样就增加了模块性,并且维护变得非常容易。
  • Container:
    春天包含并管理应用程序对象的生命周期和配置。
  • MVC Framework:
    春天带有基于核心Spring功能构建的MVC Web应用程序框架。该框架可通过策略界面进行高度配置,并包含JSP,Velocity,Tiles,iText和POI等多种视图技术。
  • 交易管理:
    春天框架为事务管理提供了通用的抽象层。这使开发人员可以添加可插入的事务管理器,并易于在不处理低级问题的情况下划分事务。
  • JDBC异常处理:
    春天的JDBC抽象层提供了有意义的异常层次结构,从而简化了错误处理策略。与Hibernate,JDO和iBATIS集成:Spring提供与Hibernate,JDO和iBATIS的最佳集成服务

3.解释Spring的主要模块?

  • 春季AOP:
    春天的关键组成部分之一是 AOP框架。 AOP在Spring中使用:

    • 提供声明性企业服务,尤其是代替EJB声明性服务。最重要的服务是 声明式交易管理,它基于Spring’的交易抽象。
    • 为了允许用户实现自定义方面,以AOP补充其对OOP的使用
  • 春季ORM:
    这 ORM 包与数据库访问有关。它为流行的对象关系映射API(包括JDO,Hibernate和iBatis)提供了集成层。
  • 春季网:
    春季网模块是Spring Web应用程序开发堆栈的一部分,其中包括Spring MVC。
  • 春季DAO:
    春天中的DAO(数据访问对象)支持主要用于使用JDBC,Hibernate或JDO等技术来标准化数据访问工作。
  • 春季语境:
    该软件包建立在bean软件包的基础上,以增加对消息源和Observer设计模式的支持,以及应用程序对象使用一致的API获取资源的能力。
  • 春季网 MVC:
    这是为Web应用程序提供MVC实现的模块。
  • 弹簧芯:
    这  包是Spring框架中最重要的组件。
    该组件提供了依赖注入功能。 BeanFactory提供了一种工厂模式,该模式将依赖关系(如对象的初始化,创建和访问)与实际程序逻辑分开。
春天框架架构
春天框架架构

4. Spring中的依赖注入(IOC)是什么?

依赖注入(也称为控制反转模式)的基本概念是您不创建对象,而是描述应如何创建它们。你不’•将您的组件和服务直接用代码连接在一起,但是描述配置文件中的哪些组件需要哪些服务。然后由一个容器(在Spring框架中为IOC容器)负责将其全部连接起来。
即,在应用IoC时,对象会在创建时由一些协调系统中每个对象的外部实体赋予它们相关性。即,将依赖项注入到对象中。因此,IoC意味着关于对象如何获得对协作对象的引用的责任倒置。

5.在Spring中注入依赖项有哪些方法?

在Spring中有两种方法进行依赖项注入。

6.春天的豆是什么?

由Spring IOC容器管理的普通POJO类称为Spring Bean。它是Spring应用程序的核心部分。
例子:

7.如何在应用程序中配置Spring?

有3种方法可以做到这一点。

  • 基于XML的配置
  • 基于Java的配置
  • 基于注释的配置。

8.什么是基于Spring XML的配置?

在基于Spring XML的配置中,您可以在XML文件中定义所有依赖项。您可以在XML文件中用标记定义所有bean,并使用此XML文件读取所有依赖项。
例如 :
示例ApplicationContext.xml文件
您可以使用以下方法读取此ApplicationContext.xml:

9.什么是基于Spring java的配置?

在基于Spring Java的配置中,仅使用Java类注入所有依赖项。您可以使用@Configuaration和@Bean批注进行操作。

上面的文件等效于下面的spring配置xml

为了使bean到达应用程序上下文,您需要使用以下代码

你可以参考 基于Spring Java的配置 完整的例子。

10.什么是基于Spring注释的配置?

您也可以通过注释而不是XML配置来进行依赖项注入。您可以使用注释定义bean自动装配。您可以使用@ Component,@ Repository,@ Service和@Controller批注在Spring应用程序中配置bean。
默认情况下,注释接线未打开。您需要使用打开它:

一旦放置了上面的代码,就可以开始在class,field或方法上使用批注。

11. Spring中有哪些不同的bean作用域?

春季支持5种类型的bean范围

  • 单身人士 –在每个Spring IoC容器中将单个bean定义的作用域限定为单个对象实例。
  • 原型 –每次请求时都返回一个新的bean实例
  • 要求 –每个HTTP请求返回一个bean实例。
  • 会议 –每个HTTP会话返回一个bean实例。
  • globalSession –每个全局HTTP会话返回一个bean实例。

12. Spring中bean的默认范围是什么?

单例是Spring中bean的默认范围。如果想要不同的作用域,则必须显式更改Bean的作用域。这是春季问问最多的问题之一。

13.什么是ApplicationContext,其功能是什么?

ApplicationContext是用于向应用程序提供配置信息的中央接口。

ApplicationContext提供以下功能:

  • 从ListableBeanFactory继承的Bean工厂方法。这避免了应用程序使用单例的需要。
  • 解决消息的能力,支持国际化。继承自MessageSource接口。
  • 以通用方式加载文件资源的能力。继承自ResourceLoader接口。
  • 发布事件的能力。实现必须提供一种注册事件侦听器的方法。
  • 从父上下文继承。在后代上下文中的定义将始终优先。例如,这意味着整个Web应用程序都可以使用单个父上下文,而每个servlet都有其自己的子上下文,该子上下文独立于任何其他servlet的子上下文。

14.您如何在春季进行注射收集?

您可以使用list和value标记初始化集合,如下所示:

15.在春季,bean自动装配是什么意思?

在Spring框架中,您可以使用自动装配功能自动对bean进行接线。要启用它,只需定义“汽车线的属性。Spring容器可以 汽车线 不使用和元素的协作bean之间的关系,这有助于减少XML配置的数量

16. Spring支持哪些不同的自动装配模式?

有以下自动装配模式,可用于指示Spring容器使用自动装配进行依赖项注入。
不:
默认情况下,没有自动接线,就像通过settor方法发布的依赖注入中所做的那样,通过“ ref”属性手动进行设置。
按名字:
按属性名称自动布线。 Spring容器查看在其上的bean的属性 汽车线 attribute is set to 按名字 在XML配置文件中,它尝试将其与xml配置文件中的bean名称匹配。
按类型:
按属性数据类型自动装配。 Spring容器查看在其上的bean的属性 汽车线 attribute is set to 按类型 在XML配置文件中。然后,它尝试匹配并连线属性(如果其属性 类型 与配置文件中的bean名称之一完全匹配。如果存在多个这样的bean,则会引发致命异常。
建设者:
构造函数参数中的byType模式。
自动侦测:

春天首先尝试通过以下方式使用autowire进行布线 构造函数,如果它不起作用,Spring会尝试通过以下方式自动接线 按类型.

17.什么是Spring AOP?

面向方面的编程是类似于面向对象编程的编程范例。面向对象编程的关键单元是类,同样,AOP的关键单元是Aspect。 Aspect使事务管理等关注点模块化,它跨越了多个类和类型。它也被称为横切关注点。

18. Spring AOP中的方面,建议,连接点和切入点是什么?

方面: Aspect是一个实现关注点的类,该关注点跨越了诸如日志记录之类的不同类。这只是一个名字。
联合点: 是方法的执行等程序的执行的要点。在Spring AOP中,连接点始终代表方法的执行。
建议 : 方面在特定连接点处采取的行动。例如:在执行getEmployeeName()方法之前,放置日志记录。所以在这里,我们先使用建议。

切入点: 切入点是一个表达式,它决定在匹配的联合点处执行建议。 Spring默认使用AspectJ切入点表达语言。

19. Spring中的@Qualifier注释是什么?

XML配置中可以有多个相同类型的bean,但是您只想自动装配其中的一个,因此@Qualifier通过确切声明要自动装配的bean,消除了@Autowired造成的混乱。
您可以阅读有关 春天 @Qualifier批注 for more details.

20. Spring中的@Required注释是什么?

该注释仅表明必须在配置时填充受影响的bean属性:通过bean定义中的显式属性值或通过自动装配。如果未填充受影响的bean属性,则容器将引发异常;否则,容器将抛出异常。这允许急切和显式的失败,避免以后再发生NullPointerExceptions等。
假设您有一个非常大的应用程序,并且由于未注入所需的依赖项而获得了NullPointerExceptions,那么很难找出问题所在,因此此注释可帮助我们调试代码。
您可以阅读有关 春天@必需的注释 for more details.

21.您将如何在Spring中处理循环依赖关系?

参考 春天中的循环依赖 for more details.

22.将原型bean注入单例bean时会发生什么?你能解释一下这种行为吗?

推荐我在春季将原型bean注入到singleton bean中 for more details.

那’关于春季面试问题的全部内容。

您可能还喜欢:

相关文章

  • 爪哇面试问题
    22 May

    爪哇面试题

    我写了很多Java面试问题,这是所有Java面试问题的索引。我将继续在此帖子中添加更多面试问题。核心Java核心Java面试问题此列表包括前50个核心Java面试问题。无论您是新手还是经验丰富的程序员,此面试问题都将[…]

  • 爪哇中的扎实原则
    11月9日

    爪哇中的SOLID原理

    在这篇文章中,我们将看到Java中的5条SOLID原则。罗伯特·C·马丁(Robert C. Martin)提出了五项面向对象的设计原则,并使用了缩写S.O.L.I.D。该首字母缩写词的每个字母都讨论Java的原理。当您结合使用S.O.L.I.D的所有原理时,对您来说会变得更加容易[ …]

  • 爪哇面试问题2年经验
    11月8日

    爪哇面试问题2年经验

    在这篇文章中,我们将看到2到3年的Java面试问题。这些是新生(0-3年的经验)最常被问到的面试问题。这个问题清单将帮助您破解Java面试。在此之前,我已经分享了详细的答案,您可能会发现它也很有帮助。一世 […]

  • 爪哇面试问题5年经验
    11月8日

    爪哇面试问题5年经验

    在这篇文章中,我们将看到5到6年的Java面试问题。当您有5年Java开发人员的经验时,您需要对集合,多线程概念有很好的了解。如果您正在寻找以下查询,那么这篇文章也将为您提供帮助。 Java面试题[…]

  • 爪哇棘手的面试题
    9月11日

    爪哇技术面试题

    在这篇文章中,我们将看到Core Java访谈中要求的顶级Java技术访谈。我涵盖了很多有关Java编程的访谈问题。这是您可能会发现有用的其他Java面试问题的列表。核心Java面试题Java Collections面试题Java String面试题OOPs java中的面试题[…]

  • 春季靴面试问题
    8月06

    春季靴面试的前15个问题

    在这篇文章中,我们将看到15个有关Spring Boot面试的最常见问题以及答案。如果您想了解更多有关Spring Boot的信息,可以阅读Spring Boot教程。如果您正在寻找以下查询,那么这篇文章也将为您提供帮助。 Spring Boot面试问题3年的经验Spring Boot面试[…]

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。