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

seo网站推广收费wordpress引用js插件

seo网站推广收费,wordpress引用js插件,东莞拓步网站建设,wordpress 微信登录key下面是一个完整的 Dagger 多绑定映射(IntoMap)示例,展示从定义到使用的全过程: Binds注解 Binds:这是 Dagger 中的一个注解,用于声明某个抽象方法的返回类型是接口或抽象类,而方法的参数是其具体实现类!&am…

下面是一个完整的 Dagger 多绑定映射(@IntoMap)示例,展示从定义到使用的全过程:

@Binds注解

@Binds:这是 Dagger 中的一个注解,用于声明某个抽象方法的返回类型是接口或抽象类,而方法的参数是其具体实现类!!!

@IntoMap

@IntoMap :将EngineService放入一个Map<Class<?>, CarService>集合中

1. 定义服务接口和实现

// 服务接口
public interface CarService {void start();
}// 引擎服务实现
public class EngineService implements CarService {@Injectpublic EngineService() {}@Overridepublic void start() {System.out.println("Engine started");}
}// 空调服务实现
public class AirConditioningService implements CarService {@Injectpublic AirConditioningService() {}@Overridepublic void start() {System.out.println("AC cooling started");}
}

2. 创建 Dagger 模块

import dagger.Binds;
import dagger.Module;
import dagger.multibindings.ClassKey;
import dagger.multibindings.IntoMap;@Module
public abstract class CarServiceModule {// 将 EngineService 绑定到 Map<Class, CarService>@Binds :EngineServiceCarService的实现类@IntoMap :EngineService放入一个Map<Class<?>, CarService>集合中@ClassKey(EngineService.class) :EngineService.class作为放入Map的键keyabstract CarService bindEngineService(EngineService impl);// 将 AirConditioningService 绑定到 Map@Binds@IntoMap@ClassKey(AirConditioningService.class)abstract CarService bindAirConditioningService(AirConditioningService impl);
}

3. 创建服务管理器

import javax.inject.Inject;
import java.util.Map;public class ServiceManager {private final Map<Class<?>, CarService> serviceMap;@Injectpublic ServiceManager(Map<Class<?>, CarService> serviceMap) {this.serviceMap = serviceMap;System.out.println("ServiceManager initialized with services: " + serviceMap.keySet());}public CarService getService(Class<?> serviceClass) {return serviceMap.get(serviceClass);}
}

4. 创建 Dagger 组件

import dagger.Component;@Component(modules = CarServiceModule.class)
public interface CarComponent {ServiceManager getServiceManager();// 可选:直接获取MapMap<Class<?>, CarService> getServiceMap();
}

5. 使用示例

public class CarApp {public static void main(String[] args) {// 创建Dagger组件CarComponent component = DaggerCarComponent.create();// 获取服务管理器ServiceManager manager = component.getServiceManager();// 使用服务CarService engine = manager.getService(EngineService.class);engine.start(); // 输出: Engine startedCarService ac = manager.getService(AirConditioningService.class);ac.start(); // 输出: AC cooling started// 直接获取MapMap<Class<?>, CarService> serviceMap = component.getServiceMap();System.out.println("Direct map access: " + serviceMap.keySet());}
}

6. 生成的 Dagger 代码 (简化版)

// DaggerCarComponent.java (自动生成)
public final class DaggerCarComponent implements CarComponent {private final Map<Class<?>, Provider<CarService>> serviceMapProvider;private DaggerCarComponent() {this.serviceMapProvider = createServiceMap();}private Map<Class<?>, Provider<CarService>> createServiceMap() {Map<Class<?>, Provider<CarService>> map = new HashMap<>();// 绑定EngineServiceProvider<EngineService> engineProvider = DoubleCheck.provider(EngineService_Factory.create());map.put(EngineService.class, (Provider)engineProvider);// 绑定AirConditioningServiceProvider<AirConditioningService> acProvider = DoubleCheck.provider(AirConditioningService_Factory.create());map.put(AirConditioningService.class, (Provider)acProvider);return Collections.unmodifiableMap(map);}@Overridepublic ServiceManager getServiceManager() {return new ServiceManager(MapProviderFactory.<Class<?>, CarService>create(serviceMapProvider).get());}@Overridepublic Map<Class<?>, CarService> getServiceMap() {return MapProviderFactory.<Class<?>, CarService>create(serviceMapProvider).get();}
}

输出结果

ServiceManager initialized with services: [class EngineService, class AirConditioningService]
Engine started
AC cooling started
Direct map access: {class EngineService=EngineService@1234, class AirConditioningService=AirConditioningService@5678}
http://www.dtcms.com/wzjs/551021.html

相关文章:

  • 帮别人做网站被抓微信上浏览自己做的网站吗
  • 免费静态网站托管平台android wap网站
  • 白银市建设局网站首页搬家公司电话附近
  • 菠菜网站搭建怎么做谷歌seo排名
  • 郑州做网站比较好公司wordpress插件选项
  • 网站建设资料优秀建筑方案设计文本
  • axrue怎么做网站的原型图网站服务器配置参考指南
  • 南昌建网站做优化公司网络建站系统
  • 中标公告 网站建设深圳机械网站建设
  • 学校网站建设 效果黑客软件
  • 哪里网站备案最快山西省建设厅勘察设计协会网站
  • 传奇背景图网站怎么做用来做问卷调查的网站
  • 自己建网站怎么建除了wordpress还有什么可以建站
  • 网站检测报告那里做昆山网站公司哪家好
  • 建设官方网站的作用网站建设200
  • 网站建设推荐北京华网天下无限免费视频直播
  • 菜市场做建筑设计图库的网站设计乡镇网站建设中的问题
  • 哈尔滨做网站公司有哪些页面跳转不了怎么回事
  • wordpress安装ssl后网站404自己电脑做网站主机
  • 仿牛商网营销型网站网站建设人文环境
  • 手机网站成功案例嵌入式软件开发面试问题
  • c 做网站源码实例wordpress底部美化
  • 企业网站的重要性沧州网络公司科技
  • 传销教你做网站dedecms网站制作教程
  • 网站开发需要掌握技术泰安工程建设信息网站
  • 加强网站备案管理自媒体视频剪辑培训班
  • 鞍山建设集团网站网络营销比较好的企业
  • dw静态个人简历网站模板下载chinacd wordpress
  • 做国外商品的网站应用商城软件下载 app
  • 北京网站建设最大的公司排名网站建设 技术方案