2017-08-22 2 views
0

J'essaie de convertir du code dans un nouveau format et je rencontre un problème avec les ressources du dropwizard. Ceci est la classe de ressources que j'ai ajouté à injectentGuice Injection: paramètre non explicite lié

@Inject 
public TestResource(TestDAO testDAO, String path) { 

TestDAO étant une classe qui étend io.dropwizard.hibernate.AbstractDAO. Lorsque j'essaye d'exécuter ceci avec injection je reçois

1) Explicit bindings are required and ...TestDAO is not explicitly bound. 
    while locating ...TestDAO 
    for the 1st parameter of TestResource.<init>(TestResource.java:44) 

2) Explicit bindings are required and java.lang.String is not explicitly bound. 
    while locating java.lang.String 
    for the 2nd parameter of ...TestResource.<init>(TestResource.java:44) 
+0

Où pensez-vous que vous avez explicitement lié ces paramètres –

+0

Je n'ai jamais dit que je pensais que j'étais. Je ne sais pas ce que je dois faire pour les liaisons explicites. Je suis nouveau à Java. J'ai regardé d'autres projets qui utilisent ceci et la documentation et je ne vois pas ce que je suis censé ajouter. – user2680142

Répondre

0

Une classe a été générée dans ce modèle qui a étendu AbstractModule. En cela il y avait un override sur configure() qui avait les bindings. J'ai également eu besoin de modifier mes classes DAO afin qu'elles puissent supporter l'injection.