![在这里插入图片描述](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的单例池中
Spring中使用的设计模式
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在启动的时候就加载系统运行的速度快还可以及时发现系统中配置的问题
Spring事件模型中的几个角色
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)
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧