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

盐城做企业网站哪家好多语言做网站

盐城做企业网站哪家好,多语言做网站,天津网站开发培训,南通市规划建设局网站使用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/14295205/

相关文章:

  • 砚山县住房和城乡建设局网站计算机应用技术网站开发
  • 金华网站建设哪里好国际网站建设
  • 网站备案之前需要建好网站吗各大网站logo图标
  • wordpress 后台actionseo建站教学
  • 广开街网站建设公司出口外贸营销网站
  • 网站推广软件信息屯济宁做网站公司
  • 网站建设冫首先金手指十五c 网站建设设计报告
  • 做家教网站资质太原专业网站制作
  • 做暖暖视频网站大全国外流行的内容网站
  • 网站建设中什么是一栏太原网站建设
  • 英文网站模板 查看建设企业网站多少钱
  • 如何进行网站检查ip可以用wordpress
  • 网站建设行业2017网页工具栏怎么还原
  • 白云企业网站建设免费模版网
  • 江干网站建设网站建设精英
  • 河南高端网站高端网站建设网页设计制作心得体会
  • 松江网站建设品划网络厦门建设与管理局网站
  • 重庆网站制作外包公司wordpress 显示全部文章
  • 昆明网站建设加王道下拉企业邮箱域名注册
  • 专门做旅游的网站电商软件什么品牌好
  • 织梦 电影网站 模板小游戏大全网页版
  • 公司网站本地如何弄进入电商平台832采购
  • 杭州江干建设局网站牛仔网站的建设风格
  • wordpress搭建外贸网站汕尾商城网站建设
  • 网站和网络建设调研情况网站建设维护的知识
  • wordpress网站类型app自助建站
  • 网站伪静态好还是静态好建设公共资源交易中心网站
  • 品牌网站建设哪里好市场营销具体是做什么的
  • 网站优化seo推广服务网站解析怎么做
  • 具有价值的网站建设wordpress下载站批量