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

南京学做网站电子商务平台建设计划书

南京学做网站,电子商务平台建设计划书,做公益选哪个网站好,哪些网站专门做动漫的如果接口有多个实现#xff0c;则Google guice提供了一种精巧的方法来选择目标实现。 我的示例基于Josh Long #xff08; starbuxman #xff09;的出色文章#xff0c;内容涉及Spring提供的类似机制。 因此#xff0c;请考虑一个名为MarketPlace的接口#xff0c;该接… 如果接口有多个实现则Google guice提供了一种精巧的方法来选择目标实现。 我的示例基于Josh Long starbuxman 的出色文章内容涉及Spring提供的类似机制。 因此请考虑一个名为MarketPlace的接口该接口具有两个实现分别是AndroidMarketPlace和AppleMarketPlace interface MarketPlace { }class AppleMarketPlace implements MarketPlace {Overridepublic String toString() {return apple;} }class GoogleMarketPlace implements MarketPlace {Overridepublic String toString() {return android;} } 并考虑以下实现的用户 class MarketPlaceUser {private final MarketPlace marketPlace;public MarketPlaceUser(MarketPlace marketPlace) {System.out.println(MarketPlaceUser constructor called..);this.marketPlace marketPlace;}public String showMarketPlace() {return this.marketPlace.toString();}} MarketPlaceUser消除这些实现歧义的一种好方法是使用一种称为绑定注释的guice功能。 要利用此功能请首先通过以下方式为每个实现定义注释 Retention(RetentionPolicy.RUNTIME) Target({ElementType.FIELD, ElementType.PARAMETER}) BindingAnnotation interface Android {}Retention(RetentionPolicy.RUNTIME) Target({ElementType.FIELD, ElementType.PARAMETER}) BindingAnnotation interface Ios {} 并将这些注释以及与该注释相对应的适当实现告知Guice活页夹 class MultipleInstancesModule extends AbstractModule {Overrideprotected void configure() {bind(MarketPlace.class).annotatedWith(Ios.class).to(AppleMarketPlace.class).in(Scopes.SINGLETON);bind(MarketPlace.class).annotatedWith(Android.class).to(GoogleMarketPlace.class).in(Scopes.SINGLETON);bind(MarketPlaceUser.class).in(Scopes.SINGLETON);} } 现在如果MarketPlaceUser需要使用一个或另一个实现则可以通过以下方式注入依赖项 import com.google.inject.*;class MarketPlaceUser {private final MarketPlace marketPlace;Injectpublic MarketPlaceUser(Ios MarketPlace marketPlace) {this.marketPlace marketPlace;}} 这是非常直观的。 如果您担心定义太多注释另一种方法可能是使用Named内置的Google Guice注释方法是 class MultipleInstancesModule extends AbstractModule {Overrideprotected void configure() {bind(MarketPlace.class).annotatedWith(Names.named(ios)).to(AppleMarketPlace.class).in(Scopes.SINGLETON);bind(MarketPlace.class).annotatedWith(Names.named(android)).to(GoogleMarketPlace.class).in(Scopes.SINGLETON);bind(MarketPlaceUser.class).in(Scopes.SINGLETON);} } 并在需要依赖的地方以这种方式使用它 import com.google.inject.*;class MarketPlaceUser {private final MarketPlace marketPlace;Injectpublic MarketPlaceUser(Named(ios) MarketPlace marketPlace) {this.marketPlace marketPlace;}} 如果您有兴趣进一步探索这里是Google guice示例和使用Spring框架的等效示例 翻译自: https://www.javacodegeeks.com/2015/02/disambiguating-between-instances-with-google-guice.html
http://www.pierceye.com/news/920971/

相关文章:

  • 企业网站服务门户网站搬家怎么做
  • 免费浏览外国网站的软件防止访问网站文件夹
  • 长沙县政务网站公司介绍怎么写范本
  • 免费网站建设方案优化seo整体优化
  • 境外公司在国内建网站微信小程序登录平台
  • 手机网站页面模板企业网站建设相关书籍在线阅读
  • 服装网站建设内容asp网站服务建设论文
  • 开封 网站建设 网络推广如何用xshell安装wordpress
  • 河北建设工程信息网站银行外包不是人干的
  • 郑州免费做网站的襄阳品牌网站建设
  • 爱网站站长工具android软件开发下载
  • 网站被入侵宁波妇科医生推荐
  • 移动网站建设学习新能源汽车价格表2021
  • 如何做视频会员网站工商注册公司需要提供的资料
  • 网站做多久能盈利网站设计定做
  • 微信网站后台功能哪里买域名便宜
  • 合肥重点工程建设局密云seo排名优化培训
  • 二学一做网站福建建设资格执业注册管理中心网站
  • vps 网站上传做网站费用需要分摊吗
  • 建网站 考虑oou淘宝客图片wordpress模板
  • 玩具网站开发背景小说网站开发文档
  • 遵义网站设计公司制作网站需要
  • 做广告公司网站建设价格成都seo招聘
  • 网站建设与规划试卷友联互换
  • 宠物网站建设费用天元建设集团有限公司是国企吗
  • 南宁在百度上建网站网站设计怎么做链接
  • 多多进宝怎么做自己网站沈阳正规的男科医院
  • 做简历的网站叫什么软件外贸网站建设工作计划
  • 关键词搜索引擎网站公司要求做网站
  • 如何判断网站开发语言浙江省网站建设报价