package com.ilucky.guice.test8;
import com.google.inject.Guice;
import com.google.inject.Injector;
/**
* v1.0:20161116
* Provider绑定注解.
* @ProvidedBy(MyProvider.class)等价于binder.bind(MyService.class).toProvider(MyProvider.class);
* 并且,注意bind优先.
*/
public class MainTest {
public static void main(String[] args) {
Injector injector = Guice.createInjector();
MyService myService = injector.getInstance(MyService.class);
myService.service("Hello Guice!");
}
}
package com.ilucky.guice.test8;
import com.google.inject.Provider;
public class MyProvider implements Provider<MyService>{
@Override
public MyService get() {
MyService myService = new MyServiceImpl();
return myService;
}
}
package com.ilucky.guice.test8;
import com.google.inject.ProvidedBy;
@ProvidedBy(MyProvider.class)
public interface MyService {
public void service(String service);
}
package com.ilucky.guice.test8;
public class MyServiceImpl implements MyService {
public void service(String service) {
System.out.println("===>" + service);
}
}
版权声明:本文为sidongxue2原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。