package com.ilucky.guice
import com.google.inject.Guice
import com.google.inject.Injector
public class MainTest {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new MyModule())
MyService myService = injector.getInstance(MyService.class)
myService.service("Hello Guice!")
//测试单例模式:binder.bind(MyService.class).to(MyServiceImpl.class).in(Scopes.SINGLETON)
MyService myService2 = injector.getInstance(MyService.class)
System.out.println(myService.equals(myService2))
}
}
package com.ilucky.guice
import com.google.inject.Binder
import com.google.inject.Module
import com.google.inject.Scopes
public class MyModule implements Module{
public void configure(Binder binder) {
//binder.bind(MyService.class).to(MyServiceImpl.class)
binder.bind(MyService.class).to(MyServiceImpl.class).in(Scopes.SINGLETON)
}
}
package com.ilucky.guice;
public interface MyService {
public void service(String service);
}
package com.ilucky.guice;
public class MyServiceImpl implements MyService {
public void service(String service) {
System.out.println("===>" + service);
}
}