当前位置: 首页 > wzjs >正文

专业网站建设出售网络营销推广的核心是什么

专业网站建设出售,网络营销推广的核心是什么,目录和文章wordpress,十堰网站优化价格一、Spring的三级缓存 关键就是提前暴露未完全创建完毕的Bean。 三级缓存来解决循环依赖: 一级缓存:用于存储完全初始化完成的单例Bean。 二级缓存:用于存储尚未完全初始化,但已实例化的Bean,用于提前暴露对象&#x…

一、Spring的三级缓存

关键就是提前暴露未完全创建完毕的Bean。
三级缓存来解决循环依赖:
一级缓存:用于存储完全初始化完成的单例Bean。
二级缓存:用于存储尚未完全初始化,但已实例化的Bean,用于提前暴露对象,避免循环依赖问题。
三级缓存:用于存储对象工厂,当需要时,可以通过工厂创建早期Bean(特别是为了支持AOP代理对象的创建)

二、Spring解决循环依赖流程

解决步骤:
1、Spring首先创建Bean实例,并将其加入三级缓存中(Factory);
2、当一个Bean依赖另一个未初始化的Bean时,Spring会从三级缓存中获取Bean的工厂,并生成Bean的代理对象;
3、代理对象存储二级缓存,解决循环依赖;
4、一旦所有依赖Bean被完全初始化,Bean将转移到一级缓存中。

三、Spring解决循环依赖流程(案例版)

带入案例,解决Spring的三级缓存解决循环依赖问题:
假设:A、B之间是两个循环依赖
1、一开始创造A的时候查询一级缓存(里面存成品),发现没找到则看二级缓存是否在创建中(有没有半成品)。都没有则需要创建A的bean,调用的是createBean。过程分别是实例化、属性注入、初始化。
2、A实例化之后往三级缓存加入一个A的getObject方法,这个就是解决循环依赖的关键。
3、到了属性注入,因为A依赖B因此需要创建B。同样的路线B也要createBean。不一样的也是解决循环依赖的一环:到了属性注入,查询二级缓存的A为创建中,则调用三级缓存的工厂getObject创建一个半成品的A,放入到二级缓存中,并完成B的第二步属性注入。
4、后面初始化initializeBean,完成B的Bean创建,放到一级缓存。
5、回到A刚刚卡在的属性注入,现在可以成功注入B,然后初始化,A也就完成了Bean创建。
(注:成品和半成品就是没有注入所需的依赖)

http://www.dtcms.com/wzjs/552841.html

相关文章:

  • 长宁哪里有做网站优化比较好ps为什么做不了视频网站
  • 贵州省安顺市网站建设哈尔滨企业自助建站系统
  • 外网有趣的网站wordpress 调用侧边栏
  • 大良建设网站tp做网站签到功能
  • ipv6跟做网站有关吗建筑工程网络计划
  • 网站建设和维护工作网站开发速成班
  • 建设购物网站流程图天河网站设计
  • 金溪县建设局网站辽宁城乡住房建设厅官网证书查询
  • 杭州外贸网站昆明网站建设价格低
  • 江苏省住房和建设部网站首页做内贸哪个网站找客户
  • 网站由哪三部分构成网页制作教程咖啡图
  • 贵阳网站建设宏思锐达app运营策略
  • 美容设计网站建设网站如何不需要备案
  • 延安做网站的公司河南网站建设运营域名注册公司
  • 购物网站含有哪些模块杭州小程序开发费用
  • 包装设计网站欣赏深圳燃气公司电话95511
  • 郑州制作网站哪家好石家庄新闻综合频道节目表
  • 密云网站建设怎么用wordpress修改网站源码
  • dw静态个人简历网站模板下载自行车网站模板
  • 网站建设工作汇报免费ftp空间
  • 网站空间 支持什么程序51ape是谁做的网站
  • 多少钱做网站什么叫网页
  • 网站建设大公司怎么建设游戏平台网站
  • 厚街响应式网站建设网络小说网站三巨头
  • 怎么建立自己的网站平台衣服网站建设方案书
  • 邯郸市做网站的公司电商推广方案
  • 泸州建设工程质量监督网站国外电商怎么做
  • 大连网站建设蛇皮果公司一个人做网站
  • 电子商务网站开发与应用网站开发命名规范
  • 个人网站做淘客dede做英文网站优化