Spring IOC AOP
2025-01-06 23:42:26 0 举报
IOC
作者其他创作
大纲/内容
实例化Bean
Bean定义<bean id=\"\" class=\"\"> <property name=\"\" value=\"\"></bean>
BeanFactoryPostProcessor
创建对象A
1. 父类构造器创建BeanFactory2. 创建条件解析器3. BeanFactory设置@Order注解的解析器AnnotationAwareOrderComparator和依赖判断器span style=\"font-size: inherit;\
Spring IOC
对BeanFactory进行修改或扩展
BeanFactory
完整Bean
处理器映射器HandlerMapping
填充属性
调用aware接口
注册监听事件
处理器Controller
校验
推断构造器
MessageConverter
BeanPostPrecessor:after
准备刷新
返回值解析器returnValueHandlers
读取路径下的class文件
生成reader
后置处理器: 增强
视图View
视图解析器ViewResolver
@Autowird
AOP
判断是否是组件
6.返回ModelAndView
1. 设置了includeFilters2. 设置环境和资源加载器
前端控制器DispatcherServlet
8. 返回具体视图
read
5. 解析参数
初始化事件广播器
@PostConstruct
生成scanner
InitializingBeaninit-method
BeanPostProcessor
实例化非懒加载单例bean
注入对象B
Bean定义BeanDefinition
处理器适配器HandlerAdapter
解析@ResponseBody
结束
后置拦截器
4. 适配处理器
扫描scan
yaml
创建对象B
public class A { @Autowired public B b;}public class B { @Autowired public A a;}
PostProcessor
cglib
BeanPostPrecessor:before
/user/info1.发送请求
xml
对Bean进行修改或扩展
为用户Bean注入系统Bean对象
MappingJackson2HttpMessageConverter
创建BeanFactory
设置作用域
注入对象A
write
初始化Bean
JDK
BeanDefinitionReader
反射new
6. 返回ModelAndView
1. 对BeanPostProcessor进行分组分组的最终结果为PriorityOrdered -> Ordered -> Normal -> MergedBeanDefinitionPostProcessor -> ApplicationListenerDetector其中MergedBeanDefinitionPostProcessor在前面已经存在的
动态代理
5. 调用处理器
抽象接口定义配置文件的读取规范
2.解析请求映射
3. 返回调用链HandlerExecutionChain
判断源文件是不是独立的
调用BeanFactory后置处理器
无参构造
构造扫描路径
补充BeanFactory的部分信息
7. 解析逻辑视图
各种aware接口
增强BeanAOP
9. 渲染视图
初始化国际化
10. 返回客户端
缓存
参数解析器argumentResolvers
1. RequestMappingHandlerMapping : 负责解析@RequestMapping
1. 校验beanName对应的类是同一个类还是不同的类相同: 第二个直接丢弃不同: 报错
IOC Container
注册Bean后置处理器
前置拦截器
属性注入
配置类注册BeanDefinition
properties
0 条评论
下一页