**
spring的总结
**
- 简述spring
Spring是一个开源的轻量级项目管理框架 - 谈谈你对spring框架的理解
IOC: 就是将手动创建对象权力交给spring,由工厂创建对象
DI : spring 框架不仅要创建对象,还要在创建对象的同时维护类与类之间的依赖关系
AOP: 就是通过对jdk中动态代理技术封装,解决项目中通用问题,如事务控制,并添加额外功能 - spring默认bean是单例的,采用的是饿汉式,
单例bean生命周期:工厂启动,bean创建,工厂关闭,bean销毁
多例bean生命周期:使用到时,工厂帮忙创建,工厂不负责bean的销毁 - spring工厂默认创建对象的次数
//单例|多例 - Spring框架的声明式事务和编程式事务
声明式事务:通过切面方式控制事务
编程式事务:编码方式控制事务 - spring 中AOP编程
切面 = 通知 + 切入点
通知:需要做的额外的功能,例如缓存
切入点:当前通知需要加入的位置(某个类中的某个方法上),或者说当前需要执行的目标方法 - 创建动态代理的方式
Cglb代理类是原始类(目标类)的子类 原始类不实现接口,默认使用cglib方式
Jdk 代理类和原始类实现同一个接口,通过spring工厂获取的类是代理类,代理类无法确定其类型,所以用接口去接收
策略模式:spring提供了获取动态代理的方式(cglb,jdk),它会根据程序员写的代码自动的选择使用哪种方式去获取动态代理