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

大学网站 作风建设专题17网站一起做网店广州沙河

大学网站 作风建设专题,17网站一起做网店广州沙河,微信建设网站,为企业做网站还有前途吗使用SPI机制前后的代码变化 加载MySQL对JDBC的Driver接口实现 在未使用SPI机制之前#xff0c;使用JDBC操作数据库的时候#xff0c;一般会写如下的代码#xff1a;// 通过这行代码手动加载MySql对Driver接口的实现类 Class.forName(com.mysql.jdbc.Driver) Dr…使用SPI机制前后的代码变化 加载MySQL对JDBC的Driver接口实现 在未使用SPI机制之前使用JDBC操作数据库的时候一般会写如下的代码// 通过这行代码手动加载MySql对Driver接口的实现类 Class.forName(com.mysql.jdbc.Driver) DriverManager.getConnection(jdbc:mysql://127.0.0.1:3306/study, root, root);在使用了SPI机制之后就直接可以调用DriverManager.getConnection()方法获取连接了。SLF4J查找日志门面实现 在未使用SPI机制之前SLF4J日志门面在查找具体的日志实现时需要每个实现提供一个叫org.slf4j.com.impl.StaticLoggerBinder.class类这里其实就跟SPI机制有点类似了这个类实现了和SPI机制中的配置文件的功能通过这个类来实现和具体实现的绑定关系。 使用了SPI机制之后则是通过SLF4JServiceProvider类来实现和具体实现的绑定关系。 SPI代码实现案例 假设现在有一个Plugin的接口调用方通过PluginFactory中的installPlugins方法来加载实现实现类并进行调用代码如下所示 // Plugin接口 public interface Plugin {boolean install(MapObject, Object context); }public class PluginFactory {public void installPlugins() {MapObject, Object context new HashMap();context.put(_beans, new ArrayList());context.put(_version, 1.0.0);context.put(_aspects, new HashMap());// 这里通过ServiceLoader加载Plugin的实现类ServiceLoaderPlugin loader ServiceLoader.load(Plugin.class);for (Plugin plugin : loader) {plugin.install(context);}}public static void main(String[] args) {PluginFactory factory new PluginFactory();factory.installPlugins();} }Plugin接口实现者的代码 public class LogPlugin implements Plugin {private static final Logger LOGGER LogManager.getLogger();Overridepublic boolean install(MapObject, Object context) {LOGGER.info(Login plugin is initiating...);return true;} }使用SPI机制有个好处就是当需要切换不同的实现类时无需对业务代码进行适配修改直接将Maven配置里面的实现依赖切换即可对于实际的环境可能就是直接将对应的jar包替换到对应的lib目录下然后重启服务即可。 SPI代码实现原理 ServiceLoader的load方法实现原理是通过接口的全限定名称去读取META-INF/services路径下的文件获取文件里面实现类的全限定名然后加载该类并通过反射的方式调用构造器获取实现类的实例然后返回如下图所示
http://www.hkea.cn/news/14279779/

相关文章:

  • 网站整体建设方案论文丰和园林建设集团网站
  • 云南省和城乡建设厅网站python做网站步骤
  • express网站开发网页制作素材模板图片
  • 网站选项卡图标代码网站编辑文章
  • 网站访问速度优化wordpress首页白板
  • 济南网站建设设计中车建设工程有限公司网站
  • 网站做301打不开礼品行业网站建设
  • namecheap建站wordpresswordpress海报插件
  • 网站开发软件设计文档模板商业网站服务
  • 网站怎么做导航栏静态网站做等级保护
  • 建设银行广达行网站网站建设收税
  • 做公司网站都需要付什么费用爱网站查询挖掘工具
  • 廉洁广州在线网站建设2022年企业所得税税率表一览
  • 工业设计案例网站公司展示网站制作
  • 海南网站建站梧州seo快速排名
  • 网站被k换域名 老域名能不能跳转WordPress怎么文章分类
  • 中国有多少网站有多少域名做公司网站是永久性的吗
  • 做网站有年费吗安卓开发软件安装教程
  • 可以找厂家的网站青岛网站建设网站设计
  • wordpress怎么修改域名宁波优化网站排名软件
  • 网站上传到万网主机邢台医院网站建设
  • 专业外贸网站建设公司西三旗网站建设
  • 东莞建设网站流程wordpress+电脑微信登陆
  • 公司网站开发毕业设计一级a做爰片免费网站短视频
  • wordpress 网站白屏注册域名
  • 做笔记的网站汕头网站制作多少钱
  • 建设网站时seo标题网站开发类书籍
  • 建设一个网站可以采用哪几种方案网站关联词搜索怎么做
  • 网站建设与维护 许宝良 课件流量比对网站
  • 在哪个网站可以找做海报的模板买网站自己做