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

网站设计公司(信科网络)域名网

网站设计公司(信科网络),域名网,花钱做网站不给部署,深圳网站建设在哪里找Transactional标识类或方法#xff0c;使方法被执行时使用事务方式执行#xff0c;这里只讨论PROXY方法增强方法。使用EnableTransactionManagement#xff0c;默认modelAdviceMode.PROXY#xff0c;通过Import(TransactionManagementConfigurationSelector.class)来判断在…Transactional标识类或方法使方法被执行时使用事务方式执行这里只讨论PROXY方法增强方法。使用EnableTransactionManagement默认modelAdviceMode.PROXY通过Import(TransactionManagementConfigurationSelector.class)来判断在加载时注册PROXY不是ASPECTJ相关类。PROXY相关类有AutoProxyRegistrar和ProxyTransactionManagementConfiguration。AutoProxyRegistrar作用是通过EnableTransactionManagement.proxyTargetClass值判断使用CGLIB或是Java interface-based proxies。使用Java interface-based proxies时AnnotationAwareAspectJAutoProxyCreatorAnnotationAwareAspectJAutoProxyCreator是一个BeanPostProcessor实现类。使用CGLIB也是注册AnnotationAwareAspectJAutoProxyCreator并且将proxyTargetClasstrue如下AopConfigUtils.forceAutoProxyCreatorToUseClassProxying() AnnotationAwareAspectJAutoProxyCreator.wrapIfNecessary() AnnotationAwareAspectJAutoProxyCreator是一个BeanPostProcessor实现类它的相应方法会在容器管理每个对象实例化不同阶段会执行。wrapIfNecessary()方法在postProcessAfterInitialization()方法调用主要是判断实例化对象是否容器所有Advisor所要作用对象如Transactional标识的方法或类的对象匹配BeanFactoryTransactionAttributeSourceAdvisor。 AnnotationTransactionAttributeSource.determineTransactionAttribute() 判断传入的方法是否含Transactional标识返回TransactionAttribute 下面是AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).wrapIfNecessary()的stack Thread [main] (Suspended (breakpoint at line 348 in AbstractAutoProxyCreator))     owns: ConcurrentHashMapK,V  (id2343)     owns: Object  (id2107)     AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).wrapIfNecessary(Object, String, Object) line: 348     AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).postProcessAfterInitialization(Object, String) line: 298     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).applyBeanPostProcessorsAfterInitialization(Object, String) line: 435     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).initializeBean(String, Object, RootBeanDefinition) line: 1721     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 581     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 498     DefaultListableBeanFactory(AbstractBeanFactory).lambda$doGetBean$0(String, RootBeanDefinition, Object[]) line: 305     48361312.getObject() line: not available     DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory?) line: 233     DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, ClassT, Object[], boolean) line: 303     DefaultListableBeanFactory(AbstractBeanFactory).getBean(String, ClassT) line: 198     CommonAnnotationBeanPostProcessor.autowireResource(BeanFactory, CommonAnnotationBeanPostProcessor$LookupElement, String) line: 512     CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor$LookupElement, String) line: 483     CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(Object, String) line: 617     CommonAnnotationBeanPostProcessor$ResourceElement(InjectionMetadata$InjectedElement).inject(Object, String, PropertyValues) line: 172     InjectionMetadata.inject(Object, String, PropertyValues) line: 89     CommonAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String) line: 317     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).populateBean(String, RootBeanDefinition, BeanWrapper) line: 1353     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 579     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 498     DefaultListableBeanFactory(AbstractBeanFactory).lambda$doGetBean$0(String, RootBeanDefinition, Object[]) line: 305     48361312.getObject() line: not available     DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory?) line: 233     DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, ClassT, Object[], boolean) line: 303     DefaultListableBeanFactory(AbstractBeanFactory).getBean(String, ClassT) line: 198     CommonAnnotationBeanPostProcessor.autowireResource(BeanFactory, CommonAnnotationBeanPostProcessor$LookupElement, String) line: 512     CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor$LookupElement, String) line: 483     CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(Object, String) line: 617     CommonAnnotationBeanPostProcessor$ResourceElement(InjectionMetadata$InjectedElement).inject(Object, String, PropertyValues) line: 172     InjectionMetadata.inject(Object, String, PropertyValues) line: 89     CommonAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String) line: 317     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).populateBean(String, RootBeanDefinition, BeanWrapper) line: 1353     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 579     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 498     DefaultListableBeanFactory(AbstractBeanFactory).lambda$doGetBean$0(String, RootBeanDefinition, Object[]) line: 305     48361312.getObject() line: not available     DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory?) line: 233     DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, ClassT, Object[], boolean) line: 303     DefaultListableBeanFactory(AbstractBeanFactory).getBean(String) line: 193     DefaultListableBeanFactory.preInstantiateSingletons() line: 747     AnnotationConfigApplicationContext(AbstractApplicationContext).finishBeanFactoryInitialization(ConfigurableListableBeanFactory) line: 861     AnnotationConfigApplicationContext(AbstractApplicationContext).refresh() line: 542     SpringApplication.refresh(ApplicationContext) line: 750     SpringApplication.refreshContext(ConfigurableApplicationContext) line: 386     SpringApplication.run(String...) line: 327     SpringApplication.run(Class?[], String[]) line: 1245     SpringApplication.run(Class?, String...) line: 1233     Application.main(String[]) line: 56     如果对象是Advisor所要作用对象则调用createProxy()生成proxy对象封闭目标对象增强目标对象。如下面stack Thread [main] (Suspended (breakpoint at line 441 in AbstractAutoProxyCreator))     owns: ConcurrentHashMapK,V  (id2343)     owns: Object  (id2107)     AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).createProxy(Class?, String, Object[], TargetSource) line: 441     AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).wrapIfNecessary(Object, String, Object) line: 349     AnnotationAwareAspectJAutoProxyCreator(AbstractAutoProxyCreator).postProcessAfterInitialization(Object, String) line: 298     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).applyBeanPostProcessorsAfterInitialization(Object, String) line: 435     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).initializeBean(String, Object, RootBeanDefinition) line: 1721     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 581     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 498     DefaultListableBeanFactory(AbstractBeanFactory).lambda$doGetBean$0(String, RootBeanDefinition, Object[]) line: 305     48361312.getObject() line: not available     DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory?) line: 233     DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, ClassT, Object[], boolean) line: 303     DefaultListableBeanFactory(AbstractBeanFactory).getBean(String, ClassT) line: 198     CommonAnnotationBeanPostProcessor.autowireResource(BeanFactory, CommonAnnotationBeanPostProcessor$LookupElement, String) line: 512     CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor$LookupElement, String) line: 483     CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(Object, String) line: 617     CommonAnnotationBeanPostProcessor$ResourceElement(InjectionMetadata$InjectedElement).inject(Object, String, PropertyValues) line: 172     InjectionMetadata.inject(Object, String, PropertyValues) line: 89     CommonAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String) line: 317     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).populateBean(String, RootBeanDefinition, BeanWrapper) line: 1353     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 579     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 498     DefaultListableBeanFactory(AbstractBeanFactory).lambda$doGetBean$0(String, RootBeanDefinition, Object[]) line: 305     48361312.getObject() line: not available     DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory?) line: 233     DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, ClassT, Object[], boolean) line: 303     DefaultListableBeanFactory(AbstractBeanFactory).getBean(String, ClassT) line: 198     CommonAnnotationBeanPostProcessor.autowireResource(BeanFactory, CommonAnnotationBeanPostProcessor$LookupElement, String) line: 512     CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor$LookupElement, String) line: 483     CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(Object, String) line: 617     CommonAnnotationBeanPostProcessor$ResourceElement(InjectionMetadata$InjectedElement).inject(Object, String, PropertyValues) line: 172     InjectionMetadata.inject(Object, String, PropertyValues) line: 89     CommonAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues, PropertyDescriptor[], Object, String) line: 317     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).populateBean(String, RootBeanDefinition, BeanWrapper) line: 1353     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 579     DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 498     DefaultListableBeanFactory(AbstractBeanFactory).lambda$doGetBean$0(String, RootBeanDefinition, Object[]) line: 305     48361312.getObject() line: not available     DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory?) line: 233     DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, ClassT, Object[], boolean) line: 303     DefaultListableBeanFactory(AbstractBeanFactory).getBean(String) line: 193     DefaultListableBeanFactory.preInstantiateSingletons() line: 747     AnnotationConfigApplicationContext(AbstractApplicationContext).finishBeanFactoryInitialization(ConfigurableListableBeanFactory) line: 861     AnnotationConfigApplicationContext(AbstractApplicationContext).refresh() line: 542     SpringApplication.refresh(ApplicationContext) line: 750     SpringApplication.refreshContext(ConfigurableApplicationContext) line: 386     SpringApplication.run(String...) line: 327     SpringApplication.run(Class?[], String[]) line: 1245     SpringApplication.run(Class?, String...) line: 1233     Application.main(String[]) line: 56     AbstractAutoProxyCreator.createProxy() DefaultAopProxyFactory.createAopProxy() Transactional标识增强对象是类所以创建proxy对象是ObjenesisCglibAopProxy 转载于:https://www.cnblogs.com/birdstudio/p/7639984.html
http://wiki.neutronadmin.com/news/281233/

相关文章:

  • 工作室网站手机网站建设可行性分析
  • 网站建设济南云畅网络工业设计公司经营范围
  • 做网站国内好的服务器网站栏目结构哪些
  • 网站建设加工1688阿里巴巴国际站首页
  • 网站建设管理经验做法网站建设工作函
  • 中医网站模板wordpress 主题 数据
  • 重庆网站建设公司招聘潍坊网站建设方案托管
  • 平台类网站做多久平面设计师服务平台
  • 网络营销推广网站收录智能科技网站模板
  • 怎样做安居客网站cms内容管理系统是什么
  • 微信云网站用什么做移动页面
  • 中国中小企业网官方网站如何用pageadmin做网站
  • 文化传播网站模板国际传来10个最新消息
  • 学校网站用途站长推荐自动跳转导航入口
  • 网站备案号显示红色pythom+网站开发规范
  • 怎样查网站有没有备案超级采购小程序怎么注册
  • 沈阳德泰诺网站建设公司怎么样网站开发的技术简介
  • 网站首页菜单栏网站服务器的重要性
  • 万网网站备案多久前端响应式
  • 网站租服务器军事新闻最新消息军事新闻
  • wordpress站点logo设置html网页模板资源
  • 描述网站建设的具体流程网页传奇推荐
  • 重庆家居网站制作公司做字幕网站有哪些
  • 网站建设观点新能源汽车价格排名
  • 网站导航颜色哈尔滨h5模板建站
  • dw可以制作网站吗静态网页设计教程
  • 做游戏奖金不被发现网站亚洲风影视传媒有限公司辽宁
  • 花都电子商务网站建设做 爱 网站视频教程
  • 官方网站套餐网站关键词搜索排名
  • 做网站公司有什么出路dedecms医院网站