【发布时间】:2019-12-12 01:41:41
【问题描述】:
我有一堆实现接口Job的类。这些类中的每一个都有一个注解@Work(name="相应的名称")
这些类中的每一个都有不同的私有字段,这些字段在构造过程中使用 guice 注入。现在我想创建一个映射映射来读取类似这样的配置文件
- name: "test1"
worker_annotation = "annotation1"
- name: "test2"
worker_annotation = "annotation2"
- name: "test3"
worker_annotation = "annotation3"
所以这个模块需要做的就是读取这个配置文件,获取所有使用@Work注解注解的类,并创建一个映射Map,其中键字符串对应于配置文件中的名称,Job是对应的实现类Job 接口并使用相应的 Worker 注释进行注释。
【问题讨论】:
-
读取配置文件不会是我猜的问题,你会得到课程using reflection。您可以使用
c.getClass().getAnnotations()获得注释,并可以像here 所示那样对其进行剖析。但我怀疑 guice 可能会以某种方式支持这些东西。 -
这个的最终用例是什么?您是否使用地图获取类然后创建实例?还是您希望地图已经有注入的实例可用?
标签: java dependency-injection guice