开发手册 欢迎您!
软件开发者资料库

Google Guice - 按需注射

Google Guice On Demand Injection - 从简单和简单的步骤学习Google Guice,从基本到高级概念,包括概述,环境设置,第一个应用程序,绑定示例,链接,@ Named,Constant,Constructor,Inbuilt,及时绑定,绑定,@ provides注释,提供者类,注入示例,构造函数,方法,字段,可选,按需,静态,自动注入,范围,AOP。

注入是将依赖注入对象的过程.方法和场注入可用于使用 injector.injectMembers()方法使用退出对象进行初始化.请参阅下面的示例.

示例

创建名为GuiceTester的java类.

GuiceTester .java

import com.google.inject.AbstractModule;import com.google.inject.Guice;import com.google.inject.ImplementedBy;import com.google.inject.Inject;import com.google.inject.Injector;public class GuiceTester {   public static void main(String[] args) {      Injector injector = Guice.createInjector(new TextEditorModule());      SpellChecker spellChecker = new SpellCheckerImpl();      injector.injectMembers(spellChecker);            TextEditor editor = injector.getInstance(TextEditor.class);           editor.makeSpellCheck();   } }class TextEditor {   private SpellChecker spellChecker;   @Inject   public void setSpellChecker(SpellChecker spellChecker) {      this.spellChecker = spellChecker;   }   public TextEditor() { }   public void makeSpellCheck() {      spellChecker.checkSpelling();   } }//Binding Moduleclass TextEditorModule extends AbstractModule {   @Override   protected void configure() {         } }@ImplementedBy(SpellCheckerImpl.class)interface SpellChecker {   public void checkSpelling();}//spell checker implementationclass SpellCheckerImpl implements SpellChecker {   public SpellCheckerImpl(){}      @Override   public void checkSpelling() {       System.out.println("Inside checkSpelling." );   }}

编译并运行该文件,您将看到以下输出.

Inside checkSpelling.