面试中的谈谈对spring的理解
发布时间:2018-08-21 11:55, 浏览次数:3366 , 标签: spring

回答面试题一般都是要讲逻辑的,我将从以下三个方面总结以下:

1.spring的工作原理

2.spring的核心技术

3.spring的优缺点

1.spring的工作原理

spring
是按照设计模式精心打造的,它实现了工厂模式的工厂类,这个类名为BeanFactory(接口),在程序中通常使用它的子类ApplicationContext(也是接口)。

spring的核心是IOC(反转控制)容器,IOC也是一种编程思想,用于实现模块之间的解耦,在Spring中它的作用是对对象的创建,维护和销毁等生命周期的控制。IOC:把对象的创建、初始化、销毁交给spring来管理,而不是由开发者控制,实现控制反转。

spring是一个大的工厂类,spring的特点就是基于配置,在其配置文件中通过元素来创建实例对象。

根据业务逻辑来看,对象经常不是独立的,一个对象的创建往往涉及另一个对象的创建,当然这个对象也要由IOC容器负责,负责的方式就是依赖注入DI,通过反射机制实现。有三种注入方式:(1)接口注入(2)构造器注入(3)Setter方法注入。

2.spring的核心技术

spring的核心技术有:IOC,AOP

java 的 高级特性:反射机制,代理

AOP:面向切面编程,系统中有很多各不相干的类的方法,在这众多方法中加入某种系统功能的代码,如加入日志,权限判断等,AOP可以实现横切关注点(如日志,安全,缓存和事务管理)与他们所影响的对象之间的解耦。

实现AOP 功能采用的是代理技术,调用代理类,代理类与目标类具有相同的方法声明。

AOP 在spring中主要表现在两个方面:提供声明式的事务管理 、spring支持用户自定义切面。

AOP主要包括通知(Advice)切点(PointCut)连接点(JoinPoint