目录
spring作用
帮我们管理对象以及对象的依赖
轻量级框架 减少代码侵入松耦合
BeanFactory和FactoryBean的区别
FactoryBean 他本身就是一个bean 他可以通过getObject放发去创建bean,所以他是创建bean的一种方式
BeanFactory 是Spring的核心接口 用来管理bean的
Spring的钩子方法
1.创建实例createBeanInstance方法
2.钩子方法:MergedBeanDefinitionPostProcessor.postProcessWergedBeanDefinition(.
3.populateBean()依赖注人
3.1钩子方法:InstantiationAwareBeanPostProcessor,postProcessAfterInstantiation();
3.2钩子方法:InstantiationAwareBeanPostProcessor.postProcessProperties();
4.initializeBean()初始化实例4.1:invokeAwareMethods ();
4.1.1钩子方法:BeanNameAware.setBeanName();
4.1.2钩子方法:BeanclassLoadenAware,setBeanClassLoader(;
4.1.3钩子方法:BeanFactoryAware.setBeanFactory(;
4.2做判断是否调用钩子方法 BeanPostProcessor.postProcessBeforeInitialization();
4.3 :invokeInitMethods;
4.3.1钩子方法:InitializingBean .afterPropentiesset0;
4.4:做判断是否调用钩子方法:BeanPostProcessor.postProcessBeforeInitialization
5.Bean实例在容器中存活
6.容器销毁
6.1Bean是否实现DisposableBean接口,有则执行钩子方法destroy();
注册bean的方式
Bean的生命周期
Spring如何解决的循环依赖
DI与Aop的执行顺序
- 在循环依赖的情况下Aop在前(准确的说应该是在DI的执行过程中完成了Aop)
- 其他情况Aop在后
Spring事务的传播机制与失效场景
SpringMVC的流程
1. 用户发送请求至前端控制器 DispatcherServlet ;2.DispatcherServlet收到请求后,调用HandlerMapping 处理器映射器,请求获取 Handler ;3. 处理器映射器根据请求 url 找到具体的处理器 Handler ,生成处理器对象及处理器拦截器 ( 如果有则生 成) ,一并返回给 DispatcherServlet ;4.DispatcherServlet 调用 HandlerAdapter 处理器适配器,请求执行 Handler ;5.HandlerAdapter 经过适配调用 具体处理器进行处理业务逻辑;6.Handler 执行完成返回 ModelAndView ;7.HandlerAdapter 将 Handler 执行结果 ModelAndView 返回给 DispatcherServlet ;8.DispatcherServlet 将 ModelAndView 传给 ViewResolver 视图解析器进行解析;9.ViewResolver 解析后返回具体 View ;10.DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)11.DispatcherServlet 响应用户。