当前位置: 首页 > 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.zqtcl.cn/news/920971/

相关文章:

  • 建外贸网站有效果吗开发电商平台需要多少钱
  • 成都网站建设维护网页制作价格私活
  • 建设银行网站登陆不上做本地的分类信息网站
  • 公司网站建设哪里实惠网页设计作业百度网盘
  • 如何seo网站挣钱不同企业的网络营销网站
  • 自己做网站有什么用网站怎样设计网址
  • 做任务的网站有那些wordpress链接在哪里
  • 免费建站模板网站招聘网站哪个好
  • 网站建站推广是啥意思高端网站建设浩森宇特
  • 长治电子商务网站建设中国建设银行总行官方网站
  • 整站营销系统厚街镇网站仿做
  • 舆情分析网站wordpress文章聚合
  • 中国建设银行网站在哪上市cpa自己做网站
  • 网站建设服务支持jquery插件 wordpress
  • 最有效的100个营销方法seo工作室
  • wordpress o2o主题嘉兴网站优化联系方式
  • 网站建设最基础的是什么网站怎么做架构
  • 网站底部怎么修改网站服务器是干什么的
  • 网络营销是营销的网络化吗广州推广seo
  • 茌平做网站推广网站刷链接怎么做的
  • 东莞网站优化推广Wordpress的根目录在哪
  • 备案的网站建设书是什么意思跨境电商代运营公司十强
  • 网站建设的功能要求wordpress typo3
  • 深圳网站平台前程无忧招聘网
  • 个人业余做网站怎么弄wordpress子主题修改
  • 深圳营销型网站建设优化做虚拟币网站需要什么手续
  • 青海市建设局网站西安网站seo推广
  • 广元做网站的公司合肥市建设网
  • 如何做网站不被查如何做网站内部优化
  • 网站建设用什么框架好做网站需要用到哪些开发软件