1
我今天開始探索Google Guice,在我的應用程序中執行依賴注入。Google Guice如何在不使用@的情況下在我的測試程序的任何位置進行工作?
我注意到我沒有在任何地方使用@Inject
註釋。但它的工作。無法理解這個概念。在這個例子中,@Inject
是最適合我的場景嗎?如果有人能指出我。
public interface Tweeter {
public void sendTweet(String message);
}
public class SmsTweeter implements Tweeter {
@Override
public void sendTweet(String message) {
System.out.println("You SMS tweet: "+message);
}
}
import com.google.inject.AbstractModule;
public class TweetModule extends AbstractModule{
@Override
protected void configure() {
bind(Tweeter.class).to(SmsTweeter.class);
}
}
import com.google.inject.Guice;
import com.google.inject.Injector;
public class TestTweetClient {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new TweetModule());
Tweeter tweeter = injector.getInstance(Tweeter.class);
tweeter.sendTweet("Hi there");
}
}
它打印(隱藏的執行工作): 您的短信鳴叫:您好