package com.iluwatar.dependency.injection; import javax.inject.Inject; /** * * GuiceWizard implements inversion of control. Its dependencies are injected through its * constructor by Guice framework. * */ public class GuiceWizard implements Wizard { private Tobacco tobacco; @Inject public GuiceWizard(Tobacco tobacco) { this.tobacco = tobacco; } @Override public void smoke() { tobacco.smoke(this); } }