SpringIOC プロセスと Mybatis アーキテクチャ

1. 春季IOCフローチャート

![ここに画像の説明を挿入](https://img-blog.csdnimg.cn/626a8582f4b14ac3983567a85bce1d4d.pngここに画像の説明を挿入

IOC 依存関係注入の全体的なプロセス

1、环境初始化
2、Bean工厂初始化
3、读取项目配置
4、定义解析Bean-->BeanDefintion
5、将BeanDefinition存储工厂类的Map
6、通过BeanFactoryPostProcessord进行一些功能的增强
7、反射实例化对象
8、进入到Bean的实例化流程,设置对象属性
9、设置Aware接口的相关依赖
10、前置处理
11、完成一些配置的加载
12、检查是否有自定义的init-method
13、后置处理器
14、对象创建完成,添加到BeanFactory的单例池中

春に使用されるデザインパターン

1、工厂模式
2、代理模式
3、单例模式(Bean单例)
4、观察者模式(发布订阅-事件监听)
5、模板方法
6、迭代器

FactoryBean と BeanFactory の違い

1、他们两个都是工厂,但是FactoryBean本质还是一个Bean,也归BeanFactory管理
2、BeanFactory是Spring的顶层接口,FactoryBean类似于用于自定义的工厂接口

BeanFactor と ApplicationContext の違い

1、BeanFactory是Spring容器的顶层接口,而ApplicationContext应用上下文,它是BeanFactory的子类,它是Spring中更高级的容器,提供了更多的功能
	国际化、访问资源、载入多个上下文、消息发送响应机制
2、两者装载Bean的时机不同
BeanFactory:在启动的时候不会去实例化Bean,只有从容器中拿Bean的时候才会去实例化(懒加载)
优点:应用启动的时候占用的资源较少,对资源的使用要求比较高的应用比较有优势
ApplicationContext:在启动的时候就把所有Bean全部实例化,lazy-init=true可以使Bean延时实例化
优点:所有Bean在启动的时候就加载系统运行的速度快还可以及时发现系统中配置的问题	

春のイベントモデルにおけるいくつかの役割

ApplicationEvent:事件
ApplicationListener:监听器
ApplicationEventPublisher: 事件源
ApplicationEventMulticaster:事件管理者

Spring イベント メカニズムのワークフロー
ここに画像の説明を挿入
一般に、ApplicationContext は次のことを完了する必要があります。

1、标识一个应用环境
2、利用jBeanFactory创建Bean对象
3、保存对象关系表
4、能够捕获各种事件

2. Mybatisのフレーム図

ここに画像の説明を挿入
mybatisで使用されるデザインパターン

1、建造者模式(构件SqlSessionFactory)
2、工厂模式  (SqlSessionFactory)
3、单例模式(ErrorContext、LogFactory)
4、代理模式(SqlSession.getMapper(xx.class)) JDK动态代理
5、组合模式
6、模板方法模式 (update方法 doUpdate交由子类实现)
7、适配器模式 (Log接口)
8、装饰器模式 (PrepetualCache)
9、迭代器模式(PropertyTokenizer)

おすすめ

転載: blog.csdn.net/qq_21875331/article/details/128457513