Ich bin den folgenden Code in Java verwendet. Ich weiß nicht, was ich getan habe Falsch hier.Guice Abhängigkeit Injektor Nullzeiger Ausnahme
Meine Hauptdatei ist: suchen und überprüfen
package com.sample.test;
import com.google.inject.Guice;
import com.google.inject.Injector;
public class mymain {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new AppInjectory());
ApplicationExample obj = injector.getInstance(ApplicationExample.class);
obj.sendMessage();
}
}
Meine Schnittstelle ist: suchen und
package com.sample.test;
public interface MessageService {
boolean sendMessage(String msg, String receipient);
}
Meine Config-Datei und prüfen wird aussehen überprüfen
package com.sample.test;
import com.google.inject.AbstractModule;
public class AppInjectory extends AbstractModule {
@Override
protected void configure() {
bind(MessageService.class).to(EmailService.class);
}
}
meine Anwendungsdatei ist: schau und prüfe
package com.sample.test;
import javax.inject.Inject;
public class ApplicationExample {
private MessageService service;
@Inject
public void setService(MessageService svc){
this.service=svc;
}
public void sendMessage() {
System.out.println(“I am here”);
service.sendMessage(“welcome”, “java”);
}
}
meine Service-Klasse ist: suchen und überprüfen
package com.sample.test;
//import com.google.inject.Singleton;
import javax.inject.Singleton;
@Singleton
public class EmailService implements MessageService {
public boolean sendMessage(String msg, String receipient) {
//some fancy code to send email
System.out.println(“Email Message sent to “+receipient+” with message=”+msg);
return true;
}
}
Here I Null-Zeiger Ausnahme .Was falsch bin immer habe ich here.?please diese issue.I zu beheben helfen, den Fehler-Stack-Trace hier hinzugefügt. Bitte schauen Sie es sich an.
ERROR:
Exception in thread “main” I am here java.lang.NullPointerException at com.sample.test.ApplicationExample.sendMessage(ApplicationExample.java:16) at com.sample.test.mymain.main(mymain.java:13)
Mögliches Duplikat [? Was für eine Nullpointer ist und wie repariere ich es] (http://stackoverflow.com/questions/218384/ what-is-a-nullpointerexception-and-wie-do-i-fix-it) – sidgate
Bitte formatieren Sie Ihren Code (und machen Sie es fit). – zhon
Gibt es einen Grund, warum 'ApplicationExample' die Setter-Injektion und nicht die Konstruktor-Injektion verwendet? Konstruktorinjektion würde es einfacher machen, über die Invariante zu argumentieren, dass der "MessageService" nicht null sein darf. Das heißt, ich glaube, dass der Code, den Sie gezeigt haben, funktionieren sollte. Ist das der eigentliche Code, der den Fehler verursacht? –