0
我有一個LoginController,它有一個字段:@Inject ILoginService loginservice。guice 3.0注入
谷歌吉斯配置是這樣的:
這造成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);
你的問題是什麼?另外,我的直覺是你混合了#1和#2(我期望#2能夠工作,但不是#1)。 – 2012-08-14 14:15:22