我有一个具有字段的 LoginController:@Inject ILoginService loginservice。
Google Guice 的配置如下:
这会创建 ILoginService 的注入
bind(ILoginService.class).to(LoginService.class); bind(LoginController.class).toInstance(new LoginController());
这不会创建 ILoginService 的注入
bind(ILoginService.class).to(LoginService.class); bind(LoginController.class);
这不会创建 ILoginService 的注入
bind(ILoginService.class).to(LoginService.class); bind(LoginController.class).toProvider(new Provider<LoginController>() { public LoginController get() { return new LoginController(); } });
不起作用... ILoginService 未注入
@Provides public ILoginService loginService() { System.out.println("loginService"); return new LoginService(); } @Provides public LoginController loginController() { System.out.println("loginService controller"); return new LoginController(); }
使用以下方法调用注入器:injector.getInstance(LoginController.class);