<dependency>
<groupId>org.scaldi</groupId>
<artifactId>scaldi_2.12</artifactId>
<version>0.5.7</version>
</dependency>
import scaldi.Injectable
public class Main extends Injectable {
private implicit val injector: Injector = new Module
public static void main(String[] args) {
// ...
}
}
import scaldi.Module
public class MyModule extends Module {
protected void configure() {
bind[MyDependency] to new MyDependencyImpl
}
}
public class MyDependencyImpl implements MyDependency {
// ...
}
public class MyClass {
private MyDependency myDependency;
public MyClass(MyDependency myDependency) {
this.myDependency = myDependency;
}
public void doSomething() {
myDependency.doSomething();
}
}