Java 面试题 -- Spring

1.什么是 Spring IOC 容器?

Spring 框架的核心是 Spring 容器。容器创建对象,将它们装配在一起,配置它们并管理它们的完整生命周期。Spring 容器使用依赖注入来管理组成应用程序的组件。容器通过读取提供的配置元数据来接收对象进行实例化,配置和组装的指令。该元数据可以通过 XML,Java 注解或 Java 代码提供。

 2.什么是依赖注入?

在依赖注入中,您不必创建对象,但必须描述如何创建它们。您不是直接在代码 中将组件和服务连接在一起,而是描述配置文件中哪些组件需要哪些服务。由 IoC 容器将它们装配在一起。

3.可以通过多少种方式完成依赖注入? 

通常,依赖注入可以通过三种方式完成,即: · 构造函数注入 · setter 注入 · 接口注入 在 Spring Framework 中,仅使用构造函数和 setter 注入。

4.Spring 中有多少种 IOC 容器?

BeanFactory - BeanFactory 就像一个包含 bean 集合的工厂类。它会在客户端要求时实例化 bean。
ApplicationContext - ApplicationContext 接口扩展了 BeanFactory 接口。它在 BeanFactory 基础上提供了一些额外的功能。

5.列举 IoC 的一些好处。

· 它将最小化应用程序中的代码量。 
· 它将使您的应用程序易于测试,因为它不需要单元测试用例中的任何单例或 JNDI 查找机制。
· 它以最小的影响和最少的侵入机制促进松耦合。 
· 它支持即时的实例化和延迟加载服务。

6.什么是 spring bean?

· 它们是构成用户应用程序主干的对象。 
· Bean 由 Spring IoC 容器管理。 
· 它们由 Spring IoC 容器实例化,配置,装配和管理。
· Bean 是基于用户提供给容器的配置元数据创建。

7.什么是 Spring IOC 容器?

IOC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。
所谓 IOC ,就是由 Spring IOC 容器来负责对象的生命周期和对象之间的关系。
自己的理解(从个人角度):Spring IOC就相当于扮演着一个中间人的角色,被注入的对象不需要自己去创建、销毁被依赖对象,而是交给IOC容器去管理,当需要的时候,由IOC容器直接提供。简单点说,IOC的理念就是让别人为你服务。

8.@Controller 注解是什么?

该注解表明该类扮演控制器的角色,Spring 不需要你继承任何其他控制器基类或引用 Servlet API。

9.@RequestMapping 注解是什么?

该注解是用来映射一个 URL 到一个类或一个特定的方处理法上。

10.什么是Spring通知?

通知是在方法执行前或执行后要做的动作,实际上是程序执行时要通过SpringAOP 框架触发的代码段。
Spring 切面可以应用五种类型的通知:
· before:前置通知,在一个方法执行前被调用。 
· after: 在方法执行之后调用的通知,无论方法执行是否成功。 
· after-returning: 仅当方法成功完成后执行的通知。 
· after-throwing: 在方法抛出异常退出时执行的通知。 
· around: 在方法执行之前和之后调用的通知。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章