Finished the example.

This commit is contained in:
Ilkka Seppala 2015-05-25 18:38:42 +03:00
parent b2bfdb1752
commit fdf1d148fa
5 changed files with 45 additions and 0 deletions

View File

@ -14,5 +14,10 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0</version>
</dependency>
</dependencies>
</project>

View File

@ -1,5 +1,8 @@
package com.iluwatar;
import com.google.inject.Guice;
import com.google.inject.Injector;
public class App {
public static void main( String[] args ) {
@ -8,5 +11,9 @@ public class App {
AdvancedWizard advancedWizard = new AdvancedWizard(new SecondBreakfastTobacco());
advancedWizard.smoke();
Injector injector = Guice.createInjector(new TobaccoModule());
GuiceWizard guiceWizard = injector.getInstance(GuiceWizard.class);
guiceWizard.smoke();
}
}

View File

@ -0,0 +1,18 @@
package com.iluwatar;
import javax.inject.Inject;
public class GuiceWizard implements Wizard {
private Tobacco tobacco;
@Inject
public GuiceWizard(Tobacco tobacco) {
this.tobacco = tobacco;
}
@Override
public void smoke() {
tobacco.smoke(this);
}
}

View File

@ -0,0 +1,4 @@
package com.iluwatar;
public class RivendellTobacco extends Tobacco {
}

View File

@ -0,0 +1,11 @@
package com.iluwatar;
import com.google.inject.AbstractModule;
public class TobaccoModule extends AbstractModule {
@Override
protected void configure() {
bind(Tobacco.class).to(RivendellTobacco.class);
}
}