章
目
录
Java面试题:简单介绍下你对Spring框架的理解
得分点
Spring框架组成、核心IOC、AOP
标准回答
Spring框架包括多个模块,例如Core、Testing、Data Access和Web Servlet等,而其中Core模块是Spring框架的核心部分。Core模块提供了一系列基础功能,如IoC容器、AOP功能、数据绑定和类型转换等。这些功能以及其他模块的功能都是构建在IoC和AOP的基础之上,因此,可以说IoC和AOP是Spring框架的核心要素。
IoC(Inversion of Control)表示控制反转,这是一种面向对象编程的设计思想。在没有采用IoC的情况下,我们需要自己管理对象之间的依赖关系,这很容易导致对象之间的紧耦合,特别是在大型项目中,这会给代码维护带来困难。IoC解决了这个问题,它负责维护对象之间的依赖关系,从而降低了它们之间的耦合度。
谈到IoC就不得不提DI(Dependency Injection),DI表示依赖注入,它是实现IoC的方式,可以说IoC是通过DI来实现的。由于IoC这个词比较抽象,而DI更加直观,因此,通常我们用DI来代替IoC,有时甚至将它们视为同义词。实现依赖注入的核心在于IoC容器,它本质上就是一个工厂。
AOP(Aspect Oriented Programming)是一种面向切面编程的思想,它作为面向对象编程的补充,可以进一步提高编程效率。简而言之,AOP可以集中处理一组组件的通用需求,例如权限检查、日志记录和事务管理等。在AOP思想下,我们将处理通用需求的代码独立出来,然后通过配置方式指定在何处以及何时调用这些代码。当满足调用条件时,AOP会将这些业务代码织入到指定的位置,从而统一解决了这些问题,而不必修改这组组件的代码。