Je dois créer des objets avec des données définies par l'utilisateur à l'exécution.TO faire que j'ai utilisé injecté google guice.Mais quand je cours mon test il jette null
exception de pointeur.S'il vous plaît laissez-moi savoir où j'ai fait l'erreur.Google Guice Assisted Inject objet est null
IArtifacts Interface
public interface IArtifacts {
MavenMetaDataXMLDTO getArtifactsVersions();
}
ArtifactsService.java
public class ArtifactsService implements IArtifacts {
private ProductProfile productProfile;
@Inject
public ArtifactsService(@Assisted ProductProfile productProfile){
System.out.println(productProfile.getArtifactManagementURL());
this.productProfile=productProfile;
}
@Override
public MavenMetaDataXMLDTO getArtifactsVersions() {
System.out.println(productProfile.getArtifactManagementURL());
return null;
}
}
ArtifactsFactory Interface
public interface ArtifactsFactory {
IArtifacts create(ProductProfile productProfile);
}
Module de classe
@Override
protected void configure() {
install(new FactoryModuleBuilder().implement(IArtifacts.class,ArtifactsService.class).build(ArtifactsFactory.class));
}
TestArtifacts.java
public class TestArtifacts {
@Inject // this obj is null
private ArtifactsFactory artifactsFactory;
private IArtifacts s;
public TestArtifacts(){
}
public void getdata(){
//Pass custom data to factory
this.s=artifactsFactory.create(Products.QA.get());
System.out.println(s.getArtifactsVersions());
}
}
RESTE ENDPOINT
@GET
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public String getartifacts(){
new TestArtifacts().getdata();
}
merci pour quick reply.do vous avez des échantillons à se référer. – gihan
voir ma mise à jour. J'ai ajouté un lien –