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

有哪几个网站可以做贸易wordpress底下

有哪几个网站可以做贸易,wordpress底下,追波设计网站官网,河北固安建设局网站一、什么是 SPI SPI 全名 Service Provider interface#xff0c;翻译过来就是“服务提供接口”。基本效果是#xff0c;申明一个接口#xff0c;然后通过配置获取它的实现#xff0c;进而实现动态扩展。 Java SPI 是 JDK 内置的一种动态加载扩展点的实现。 一般的业务代…一、什么是 SPI SPI 全名 Service Provider interface翻译过来就是“服务提供接口”。基本效果是申明一个接口然后通过配置获取它的实现进而实现动态扩展。 Java SPI 是 JDK 内置的一种动态加载扩展点的实现。 一般的业务代码中较少用到但是在底层框架中却大量使用包括 JDBC、Dubbo、Spring、Solon、slf4j 等框架都有用到不同的是有的使用 Java 原生的实现有的框架则自己实现了一套 SPI 机制. 二、Spring SPI Spring 中的 SPI 相比于 JDK 原生的它的功能更强大些它可以替换的类型不仅仅局限于接口/抽象类它可以是任何一个类接口注解 正因为 Spring SPI 是支持替换注解类型的 SPI这个特性在 Spring Boot 中的自动装配有体现EnableAutoConfiguration注解 Spring 的 SPI 配置文件需要放在工程的 META-INF 下且文件名为 spring.factories 而文件的内容本质就是一个 properties如 spring-boot-autoconfigure 包下的 META-INF/spring.factories 文件用于自动装配的。 # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration\ org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration, \ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration, \ org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration, \ org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration, \ org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration, \ org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,三、Solon SPI 相对于 Java SPI 和 Spring SPI 的“配置式”风格。Solon SPI 则是 “编码式” 风格。就有点儿像 Maven 和 Gradle。Solon SPI也称为 Solon Plugin SPI。 同样需要一个配置文件来申明 Plugin 的实现类。 约定插件配置文件且要求文件名是唯一的 #建议使用包做为文件名便于识别且可避免冲突 META-INF/solon/{packname}.properties约定插件配置内容就固定的两项 #插件实现类配置 solon.plugin{PluginImpl} #插件优化级配置。越大越优先默认为0 solon.plugin.priority1插件代码示例相当于为整个 “模块” 提供了一个生命周期。把上面 Spring SPI 的配置翻译过来就是 public class SpringTranslatePlugin implements Plugin{Overridepublic void start(AppContext context) {//插件启动时...context.beanMake(SpringApplicationAdminJmxAutoConfiguration.class);context.beanMake(AopAutoConfiguration.class);context.beanMake(RabbitAutoConfiguration.class);context.beanMake(BatchAutoConfiguration.class);context.beanMake(CacheAutoConfiguration.class);context.beanMake(CassandraAutoConfiguration.class);}Overridepublic void prestop() throws Throwable {//插件预停止时启用安全停止时预停止后隔几秒才会进行停止}Overridepublic void stop(){//插件停止时} }因为是 “编码式” 的。所以也可以做更复杂的控制处理。比如 public class SolonDataPlugin implements Plugin {Overridepublic void start(AppContext context) {//注册缓存工厂CacheLib.cacheFactoryAdd(local, new LocalCacheFactoryImpl());//添加事务控制支持if (context.app().enableTransaction()) {context.beanInterceptorAdd(Tran.class, TranInterceptor.instance, 120);}//添加缓存控制支持if (context.app().enableCaching()) {CacheLib.cacheServiceAddIfAbsent(, LocalCacheService.instance);context.subWrapsOfType(CacheService.class, new CacheServiceWrapConsumer());context.lifecycle(() - {if (context.hasWrap(CacheService.class) false) {context.wrapAndPut(CacheService.class, LocalCacheService.instance);}});context.beanInterceptorAdd(CachePut.class, new CachePutInterceptor(), 110);context.beanInterceptorAdd(CacheRemove.class, new CacheRemoveInterceptor(), 110);context.beanInterceptorAdd(Cache.class, new CacheInterceptor(), 111);}//自动构建数据源Props props context.cfg().getProp(solon.dataSources);if (props.size() 0) {context.app().onEvent(AppPluginLoadEndEvent.class, e - {//支持 ENC() 加密符VaultUtils.guard(props);buildDataSource(context, props);});}} }
http://www.w-s-a.com/news/95937/

相关文章:

  • 站长工具流量统计招工信息发布平台
  • 上海网站建设公司排行建设无障碍网站
  • phpcms网站打不开网页制作网站设计稿
  • 博客网站开发环境wordpress 中英文双语
  • 做网站报价表群辉装wordpress
  • 请人做游戏的网站视觉设计师的工作内容
  • 昆明网站建设知名企业博客网站开发
  • 如何做网站网页免费thinkphp网站后台模板
  • 怎么自己做优惠券网站济南小程序开发
  • 南昌网站专业制作做仿站如何获取网站源码
  • qq钓鱼网站wordpress 企业站模板
  • 推进文明网站建设免费设计公司logo设计
  • 做电脑租赁网站server 2008 网站部署
  • 做网站的公司一年能赚多少钱wordpress作者增加分类插件
  • 苏州尚云网站建设专业摄影网站推荐
  • 020网站开发微信公众号直接链接网站怎么做
  • 学做烘焙的网站某网站注册需要邮箱是怎么弄
  • 网站的特效代码公司网站开发的工作内容
  • 网站制作哪家好商城网站建设预算要多少钱
  • 怎么做律所的官方网站微网站可以做商城吗
  • 通用网站后台管理系统(php版)网站备案ip查询网站查询
  • 制作网站代码吗江阴网站建设推广
  • 汕头建网站wordpress文章网址采集
  • 十大景观设计网站用vue框架做的网站
  • 福建省建设监理网官方网站做外贸网站卖什么东西好
  • 公司做网站排名东莞关键词优化推广
  • 连云港做企业网站公司全网营销与seo
  • 电子毕业设计代做网站wordpress 插件放在那
  • 黄石规划建设局网站怎么做存储网站
  • 网站安装wordpress滨江网站建设