Following sample will demonstrate how to access guice dependency annotated with some annotation through direct Guice injector instance.
Bar.java
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import com.google.inject.BindingAnnotation;
@Retention(RetentionPolicy.RUNTIME)
@BindingAnnotation
public @interface Bar {
}
Foo.java
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import com.google.inject.BindingAnnotation;
@Retention(RetentionPolicy.RUNTIME)
@BindingAnnotation
public @interface Foo {
}
TestDepdency.java
public interface TestDepdency {
String getValue();
}
FooTestDependencyImpl.java
public class FooTestDependencyImpl implements TestDepdency {
@Override
public String getValue() {
return "Foo";
}
}
BarTestDependencyImpl.java
public class BarTestDependencyImpl implements TestDepdency {
@Override
public String getValue() {
return "Bar";
}
}
Test.java
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Key;
public class Test {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(TestDepdency.class).annotatedWith(Foo.class).to(FooTestDependencyImpl.class);
bind(TestDepdency.class).annotatedWith(Bar.class).to(BarTestDependencyImpl.class);
}
});
TestDepdency foo = injector.getInstance(Key.get(TestDepdency.class, Foo.class));
System.out.println(foo.getValue());
TestDepdency bar = injector.getInstance(Key.get(TestDepdency.class, Bar.class));
System.out.println(bar.getValue());
}
}
Final output
Foo
Bar
In the similar way you can retrieve the annotated provider.
thanks a lot, nice information
ReplyDeleteتعليقات
تعليقات فيس بوك
شركة نقل عفش بالرياض
شركة نقل اثاث بالرياض
شركة تنظيف بالرياض
شركة رش مبيدات بالدمام
شركة تنظيف منازل بالدمام
شركة مكافحة حشرات بالدمام
شركة مكافحة حشرات بجده
شركة مكافحة حشرات بالقطيف
شركة مكافحة حشرات بالطائف
شركة مكافحة النمل الابيض بالدمام
شركة مكافحة حشرات ببقيق
شركة رش مبيدات بجده
شركة مكافحة حشرات براس تنوره
شركة تسليك مجارى بالدمام
شركة تنظيف منازل بالاحساء
ReplyDeleteشركة تنظيف بالدمام _شركة الأهرام المثالية
افضل شركة تنظيف مكيفات بالدمام
شركة تنظيف فلل بالدمام شركة الأهرام المثالية
شركة تسليك مجاري بالدمام شركة الأهرام المقالية
شركة تنظيف خزانات بالدمام شركة الأهرام المثالية
شركة تنظيف مجالس بالدمام شركة الأهرام المثالية
شركة تنظيف سجاد بالدمام شركة الأهرام المثالية
افضل شركة رش مبيدات بالدمام شركة الاهرام المثالية
شركة الأهرام المثالية شركة مكافحة حشرات بالدمام
شركة الأهرام المثالية للخدمات المنزلية
Grreat blog post
ReplyDelete