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

深圳大兴汽车集团网站建设南宁排名seo公司

深圳大兴汽车集团网站建设,南宁排名seo公司,邯郸网络科技,做网站怎么赚钱 注册SpringBoot run方法代码如下#xff1a; 可以看到它会调用refreshContext方法来刷新Spring容器#xff0c;这个refreshContext方法最终会调用AbstractApplicationContext的refresh方法#xff0c;代码如下 如上图#xff0c;refresh方法最终会调用finisheBeanFactoryInit…SpringBoot run方法代码如下 可以看到它会调用refreshContext方法来刷新Spring容器这个refreshContext方法最终会调用AbstractApplicationContext的refresh方法代码如下 如上图refresh方法最终会调用finisheBeanFactoryInitialization方法代码如下 从上图可以看出它最终会调用preInstantiateSingletons方法来实例化单例的bean,代码如下 其中每一个bean创建时都要调用getBean方法getBean代码如下 如上图getBean调用doGetBean, doGetBean代码如下 整体逻辑就是先从缓存中获取bean,如果为空则调用createBean来创建bean,createBean代码如下 从上图看到createBean调用了doCreateBean来完成bean创建doCreateBean代码如下 从上图可以看到doCreateBean调用了initializeBean来完成对bean的初始化initializeBean代码如下 从上图可以看到它调用了applyBeanPostProcessorsAfterInitialization这个方法代码如下 可以看到applyBeanPostProcessorsAfterInitialization中获取了Spring容器中所有的BeanPostProcessor,然后调用它们的postProcessAfterInitialization方法来对bean进行后置处理而可能的代理对象就是通过BeanPostProcessor生成的。而InfrastructureAdvisorAutoProxyCreator这个BeanPostProcessor就是来完成代理对象生成的(当然前提是加了Transactional注解否则不会生成代理对象会直接返回原始对象 InfrastructureAdvisorAutoProxyCreator的postProcessAfterInitialization代码如下 其中调用了wrapIfNecessary方法wrapIfNecessary代码如下 从上图我们看到如果specificInterceptors不为空则会去生成代理对象并返回否则直接将原始对象返回。 getAdvicesAndAdvisorsForBean代码如下 它调用了findEligibleAdvisors方法代码如下 findEligibleAdvisors首先从Spring容器中获取所有的Advisor然后调用findAdvisorsThatCanApply来获取可以应用的Advisor,findAdvisorsThatCanApply代码如下 它调用了AopUtils的静态方法findAdvisorsThatCanApply方法代码如下 其中调用的canApply方法代码如下 其中调用的canApply代码如下 其中调用的matches方法代码如下 其中调用的getTransactionAttribute方法代码如下 其中调用的computeTrasactionAttribute代码如下 其中调用的findTransactionAttribute代码如下 其中调用的determineTransactionAttribute代码如下 其中会分别调用Spring容器中的TransactionAttributeParser进行注解分析实际上只有一个SpringTransactionAttributeParser,SpringTransactionAttributeParser的parseTransactionAnnotation代码如下 从上图可以看到要从传入的元素实际就是我们定义的业务方法来获取它是否包含Transactional注解如果包含则调用parseTransactionAnnotation来获取注解上配置的事务相关的属性也就是在Transactional注解上配置的那些值) 因此最终决定是否生成代理对象的是parseTransactionAnnotation方法的返回值 一步一步往回返最终返回到AbstractAutoProxyCreator的wrapIfNecessary方法 如果parseTransactionAnnotation方法返回的是null,则这里的specificInterceptors为空不会生成代理对象。 如果parseTransactionAnnotation方法返回的不是null,则这里的specificInterceptors大小为1则会调用createProxy创建代理对象。 以上分析了是否要创建代理对象开始分析代理对象的创建过程。createProxy代码如下 可以看到首先new出一个Proxy,然后设置targetSource(也就是bean的原始类型和用于事务处理的Advisor,最有调用getProxy,getProxy代码如下 其中调用的createAopProxy代码如下 其中调用的createAopProxy代码如下 默认情况下SpringBoot会使用ObjenesisCglibAopProxy,如上图。ObjenesisCglibAopProxy的getProxy代码如下 可以看到它最终会调用createProxyClassAndInstance方法来创建出代理对象它的代码如下
http://www.w-s-a.com/news/955805/

相关文章:

  • 玉林市网站开发公司电话做网站空间 阿里云
  • 南充做网站略奥网络免费的正能量视频素材网站
  • 电子商务网站开发的基本原则汕头网站制作流程
  • 网站访问量突然增加合肥宣传片制作公司六维时空
  • 建设购物网站流程图怎么找网站
  • 阿里云部署多个网站制作小程序网站源码
  • 博罗东莞网站建设网站免费源代码
  • 网站规划与设计范文桂平网站建设
  • 网站备案号密码wordpress邮箱发送信息错误
  • 模板的网站都有哪些关键词搜索工具爱站网
  • 鲜花网站建设的利息分析企业网站建设方案书
  • 深圳网站平台石家庄做商城网站的公司
  • 微网站营销是什么私人订制网站有哪些
  • 浙江建设工程合同备案网站新手做网站教程
  • 网站优化关键词排名自己怎么做wordpress安装主题失败
  • 成都建设银行招聘网站网站的切换语言都是怎么做的
  • 网站网业设计wordpress 很差
  • 网站开发软件著作权归谁网站悬浮窗广告
  • 如何提升网站alexa排名货运网站源码
  • 如何看自己网站流量梧州网站设计理念
  • 商城网站建设特点有哪些信息门户
  • 弄一个网站临沂有哪几家做网站的
  • 广州个人网站制作公司网站建设公司价
  • 免费建设网站赚钱小程序开发文档pdf
  • ucenter 整合两个数据库网站网店推广技巧
  • 网站优化排名提升百度wap
  • 八里河风景区网站建设内容摘要网站开发基础学习
  • 上海做外贸网站的公司智慧团建网站登陆平台
  • 上海商务网站建设如何做的网站手机可以用吗
  • 产品推广营销方案seo推广员招聘