<dependencies>
<dependency>
<groupId>org.scaldi</groupId>
<artifactId>scaldi</artifactId>
<version>0.5.9</version>
</dependency>
</dependencies>
public class MyService {
public void doSomething() {
System.out.println("Doing something...");
}
}
import scaldi.Module;
public class MyModule extends Module {
bind[MyService] to new MyService
}
import scaldi.Injectable;
public class MyController implements Injectable {
@Inject
private MyService myService;
public void execute() {
myService.doSomething();
}
}
import scaldi.{Injector, ScaldiApp};
public class MyApp extends ScaldiApp {
public static void main(String[] args) {
MyApp app = new MyApp();
app.execute();
}
@Override
public Object[] createModules(Injector injector) {
return new Object[]{new MyModule()};
}
public void execute() {
MyController controller = inject[MyController]
controller.execute();
}
}