目录
什么是IOC
容器概念
控制反转
依赖注入
什么是AOP
SpringBean的生命周期
- 实例化阶段:创建一个bean对象
- 属性填充阶段:为bean实例的属性进行填充
- 初始化阶段:初始化实例bean
- 正常使用阶段
- bean销毁阶段:容器关闭后,对bean实例进行销毁
Spring IOC的容器创建流程
BeanFactory、FactoryBean、ApplicationContext的区别
ApplicationContext:高级IOC容器,BeanFactory的子接口、在BeanFactory的基础上进行了扩展。比如:事件发布、国际化信息支持、统一资源加载策略等。正常情况下,我们使用ApplicationContext
BeanFactory:基础IOC容器,Bean工厂,使用简单工厂模式,最核心的功能是getBean()加载Bean对象
FactoryBean:是一个工厂Bean,使用工厂方法模式,实现该接口的类可以自己定义要创建的Bean实例,只需要实现getObject()方法即可。
Spring AOP有那两种创建代理的方式,有什么区别?
1.JDK动态代理:针对类实现了某个接口,AOP使用JDK动态代理,基于反射的机制实现,生成一个实现相同接口的代理类,然后通过重写的方式,实现对代码的增强。
2.CGLIB代理:某个类没有接口,AOP则会使用CGLIB代理,继承被代理对象,覆盖其中方法