Google Guice - लगातार बाइंडिंग
मान मूल्य वस्तुओं या स्थिरांक के साथ बाइंडिंग बनाने का एक तरीका प्रदान करता है। उस मामले पर विचार करें जहां हम JDBC url को कॉन्फ़िगर करना चाहते हैं।
@ नामांकित एनोटेशन का उपयोग करते हुए इंजेक्ट करें
@Inject
public void connectDatabase(@Named("JBDC") String dbUrl) {
//...
}
यह Instance () विधि का उपयोग करके प्राप्त किया जा सकता है।
bind(String.class).annotatedWith(Names.named("JBDC")).toInstance("jdbc:mysql://localhost:5326/emp");
पूरा उदाहरण
GuiceTester नाम से एक जावा क्लास बनाएं।
GuiceTester.java
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.name.Named;
import com.google.inject.name.Names;
public class GuiceTester {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new TextEditorModule());
TextEditor editor = injector.getInstance(TextEditor.class);
editor.makeConnection();
}
}
class TextEditor {
private String dbUrl;
@Inject
public TextEditor(@Named("JDBC") String dbUrl) {
this.dbUrl = dbUrl;
}
public void makeConnection(){
System.out.println(dbUrl);
}
}
//Binding Module
class TextEditorModule extends AbstractModule {
@Override
protected void configure() {
bind(String.class)
.annotatedWith(Names.named("JDBC"))
.toInstance("jdbc:mysql://localhost:5326/emp");
}
}
उत्पादन
फ़ाइल संकलित करें और चलाएँ, आपको निम्न आउटपुट दिखाई देगा।
jdbc:mysql://localhost:5326/emp