2024电玩巴士全明星大奖

此次数据要素使用立异大赛总结发布会,电玩是我国信息协会对大赛催生的有价值、电玩有实效、立异性强的数据开发和使用实践效果的展现,旨在充沛发掘数据要素在科技立异中的乘数效应,为职业供给可学习的经历和形式,加快数据技能与实体经济深度交融,为全国数字经济的高质量开展注入微弱动力。

可是,巴士调查日志,巴士会发现com.diguage.demo.boot.config.WebLoaderListener#onApplicationEvent办法被两次履行,也便是监听到了两次ContextRefreshedEvent事情,导致web容器会被加载两次。if(this.parent!=null){if(this.parentinstanceofAbstractApplicationContextabstractApplicationContext){abstractApplicationContext.publishEvent(event,typeHint);}else{this.parent.publishEvent(event);}}}在publishEvent办法的最终,全明假如父容器不为null的情况下,全明则也会向父容器播送容器的相关事情。

2024电玩巴士全明星大奖

因为SpringBean默许是单例的,电玩并且会随同Spring容器长时间存活,就能够确保web容器耐久存活。结合Spring扩展点概览及实践中介绍的Spring扩展点,巴士有两个当地能够使用:巴士1.能够使用ApplicationContextAware获取boot容器的ApplicationContext实例,这样就能够完成自己完成的父子容器在获取到详细的库名后履行getRequiredSqlWithSpecificDBName办法来将其拼接到表名前,全明在这里咱们运用到了JSqlParser的东西类,全明解析出来一切的表名,履行字符串的替换,最终一步同样是运用反射操作将该参数值再写回去,这样便完成了指定库名的使命。

2024电玩巴士全明星大奖

接下来咱们需求看下笼统阻拦器中供阻拦器复用的办法,电玩如下:电玩publicabstractclassAbstractDBNameInterceptor{/***SqlSource字段称号*/privatestaticfinalStringSQL_SOURCE_FIELD_NAME=sqlSource;/***履行修正数据库名的逻辑*/protectedObjectupdateDBName(Invocationinvocation)throwsThrowable{//装修器装修SqlSourcedecorateSqlSource((MappedStatement)invocation.getArgs()[0]);returninvocation.proceed();}/***装修SqlSource*/privatevoiddecorateSqlSource(MappedStatementstatement)throwsNoSuchFieldException,IllegalAccessException{if(!(statement.getSqlSource()instanceofSqlSourceDecorator)){FieldsqlSource=statement.getClass().getDeclaredField(SQL_SOURCE_FIELD_NAME);sqlSource.setAccessible(true);sqlSource.set(statement,newSqlSourceDecorator(statement.getSqlSource()));}}}这个仍是比较简单的,仅仅凭借反射机制做了一层装修,查询阻拦器完成如下:@Intercepts({@Signature(type=Executor.class,method=query,args={MappedStatement.class,Object.class,RowBounds.class,ResultHandler.class}),@Signature(type=Executor.class,method=query,args={MappedStatement.class,Object.class,RowBounds.class,ResultHandler.class,CacheKey.class,BoundSql.class})})publicclassSelectDBNameInterceptorextendsAbstractDBNameInterceptorimplementsInterceptor{@OverridepublicObjectintercept(Invocationinvocation)throwsThrowable{returnupdateDBName(invocation);}}将其装备到Mybatis阻拦器中,便能完成数据库动态切换了。结合注释咱们解释一下SqlSourceDecorator的逻辑,巴士其间用到了Java反射相关的操作。

2024电玩巴士全明星大奖

完成逻辑SqlSource是读取XML中SQL内容并将其发送给数据库履行的目标,全明假如咱们在履行前能阻拦到该目标,并将其间的SQL替换掉便达成了咱们的意图。

假如咱们能在SQL履行前将SQL中一切的表名前拼接上对应的库名的话,电玩那么就可以完成数据源的切换了,电玩下面咱们讲一下运用JSqlParser和Mybatis阻拦器完成该逻辑,凭借JSqlParser首要是为了解析SQL,找到其间一切的表名进行拼接,假如咱们有更好的完成办法,该组件并不是有必要的。信号扩大:巴士AO3401能够经过调整栅源极电压来操控其导通状况,然后调理信号扩大的起伏。

散热规划:全明考虑到AO3401在作业时可能会发生必定的热量,需求进行恰当的散热规划以避免过热。作业原理敞开状况:电玩当栅源极电压VGS为负值时(如-10V),电玩在氧化层下的P型半导体内构成一个电场,使得源极的空穴向漏极方向移动,然后构成导通通道。

三、巴士组合电路剖析使用场景电源开关:使用AO3401的快速开关速度和低导通电阻,以及1N5819的低正向压降,能够构建高效的电源开关电路。产品广泛用于交通、全明通讯,电脑、家用电器、玩具等数码电子产品等多个范畴。

通化市
上一篇:冰雪工业背面的“追光者”:由于酷爱 所以据守
下一篇:首个东盟国家免签旅游团入境我国西双版纳