通过yaml配置java类对象列表

通过yaml配置java类对象列表,java,yaml,dropwizard,Java,Yaml,Dropwizard,我正在使用dropwizard框架,该框架使用Yaml进行配置。我想在配置文件中指定类名。是否有一种方式可以让Yaml将其解析为类对象,或者我必须使用字符串来完成 class Config { ......... List<Class<?> resourceClasses; } YAML file #resource classes resourceClasses : - com.abc.StoresResource -

我正在使用dropwizard框架,该框架使用Yaml进行配置。我想在配置文件中指定类名。是否有一种方式可以让Yaml将其解析为类对象,或者我必须使用字符串来完成

class Config {

  .........

  List<Class<?> resourceClasses;    
} 

YAML file

#resource classes
resourceClasses : 
       - com.abc.StoresResource
       - com.abc.MerchantResource

您是在寻找一种方便的方法来注册资源,还是真的想在YAML配置中配置资源?如果是前者,我会这么做:

对于ClassInfo ClassInfo:ClassPath.fromgetClass.getClassLoader.GetToLevel ClasseScom.abc{ environment.jersey.registeri.getInstanceclassInfo.load; } 如果是后者,则必须自己解析这些字符串。我不认为YAML配置能为您做到这一点。你喜欢这项工作吗

类配置{ 列表>; @JsonPropertyresourceClasses public void setResourceClasseCollection类名称引发ClassNotFoundException{ 对于字符串className:classNames{ resourceClasses.addClass.forNameclassName; } } }
我想在某些资源类上声明性地应用我们公司的事务日志框架。因此,后面添加了后者的一个示例—看看这是否适用于您的目的。