spring就是一个管理的bean容器,首先需要理解这个容器创建bean的时候经过了哪些步骤,bean销毁的时候进行了哪些步骤
bean创建的时候经过了以下步骤:
spring创建bean的时候会根据当前bean是否需要进行AOP,如果需要就根据AOP的切面类创建代理对象,那么spring是如何匹配当前bean是否需要AOP的呢?,首先AOP逻辑是在BeanFactoryPostProcessor实现的,也就是扫描中开始判断当前的bean是否需要进行AOP,匹配当前bean和已经定义了Advisor进行匹配(先从bean工厂中拿到Advisor类型的bean,然后用每个Advisor的类名和方法进行匹配),如果有匹配到的就创建代理类bean然后放到proxyMap中最后放到spring容器中,spring事务就是基于AOP实现的。