欢迎来到漫山遍野网

漫山遍野网

[研讨] 新消费年代下,保健品与健康办理展开新动向

时间:2025-03-05 06:28:08 出处:通化市阅读(143)

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

可是, 新消费下新动调查日志, 新消费下新动会发现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的情况下,年代则也会向父容器播送容器的相关事情。

[研讨] 新消费年代下,保健品与健康办理展开新动向

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

[研讨] 新消费年代下,保健品与健康办理展开新动向

接下来咱们需求看下笼统阻拦器中供阻拦器复用的办法,研讨如下:研讨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反射相关的操作。

[研讨] 新消费年代下,保健品与健康办理展开新动向

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

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

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

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

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: