[关闭]
@wxf 2018-03-22T00:05:05.000000Z 字数 6201 阅读 695

Spring相关问题整理

面试系列


谈谈你对Spring的理解

Spring 在以IOC和AOP为核心的基础上,提供了表现层Spring MVC,业务层事务管理以及持久层Spring JDBC等众多的企业级应用技术。
通过Spring提供的IOC容器,可以将对象之间的依赖关系交由Spring进行管理,避免硬编码所造成的过度依赖。
通过Spring提供的AOP功能,用户可以方便的进行面向切面编程。

谈谈你对Spring IOC和DI的理解,它们有什么区别

IOC(控制反转):就是将原本在程序中手动创建对象的控制权,交给了Spring容器进行统一管理。它的实现原理是反射。
DI(依赖注入):在Spring框架负责创建Bean对象时,动态的将依赖对象注册到Bean组件。

使用XML配置实例化Bean共有哪几种方式

共有三种方式分别是:类构造器实例化(常用)、静态工厂方法实例化及实例工厂方法实例化。
参考文档:Spring实例化Bean的三种方式及Bean的类型

Spring IOC容器中Bean的生命周期

参考资料:Spring Bean的生命周期(非常详细)
参考资料:Spring Bean生命周期

BeanFactory和ApplicationContext比较

BeanFactory和ApplicationContext都是Spring提供得两种类型的IOC容器实现。

谈谈你对SpringAOP的理解

延伸阅读:Spring AOP 的实现机制

1、AOP即面向切面编程,其采用横向抽取机制,取代传统的纵向继承体系的重复性代码(性能监视、事务管理、安全检查、缓存)。它的底层使用动态代理方式实现。

2、AOP利用“横切”技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到 一个可重用模块中。这个模块叫做切面。所谓“切面”,简单来说,就是将那些与业务无关,却被业务模块所共同调用的逻辑封装起来,以减少系统中的重复代码,降低模块间的耦合度。
- 动态代理
image_1c52fg9jv1cp316gm1c991hjf56s9.png-161kB

Spring AOP中几个关键名词

image_1c52gmtv3kd61fnf1gclpnr5or13.png-155.2kB

通过Aspectj实现AOP

在Spring中进行AOP操作,使用的就是Aspectj。Aspectj它不是Spring的一部分,只是和Spring一起使用进行AOP操作。

Spring事务管理的相关概念

实现Spring事务管理的两种方式

Spring事务管理的核心接口

Spring事务管理的核心接口关系:
)G(]@H}DTTME[KSFG6@6RSI.png-48.3kB

Sping框架中的常用注解

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注