我想在服务类中将绑定对象与dropwizard中的guice一起使用。

考虑对象

public class MinioData {
  private String endpoint;
public String getEndpoint() {
    return endpoint;
  }
}


和服务

@Path("/upload")
@Produces(MediaType.APPLICATION_JSON)
public class UploadResource {
private final MinioData minioData;
@Inject
public UploadResource(
    @Named("miniodata") MinioData minioData) {
  this.minioData = minioData;
}


我如何绑定该对象以便可以在我的服务中使用。对于字符串,我可以使用

bindConstant()
.annotatedWith(Names.named("miniodata"))
.to(configuration.getMiniodata());


但是既然在这种情况下它是一个通用对象,我将如何绑定它?

最佳答案

如果在DW应用程序中配置了现有的Guice模块,则只需将MinioData实例从配置对象绑定到关联的类:

binder.bind(MinioData.class).toInstance(configuration.getMiniodata());

关于java - 如何在Dropwizard中使用Guice绑定(bind)对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49840299/

10-10 08:17