<dependency>
<groupId>org.scaldi</groupId>
<artifactId>scaldi_2.12</artifactId>
<version>0.5.9</version>
</dependency>
public interface MessageService {
void sendMessage(String message);
}
public class EmailService implements MessageService {
@Override
public void sendMessage(String message) {
System.out.println("Sending email: " + message);
}
}
public class MyModule extends Module {
bind[MessageService] to new EmailService
}
object MyApp extends App {
val injector = new SimpleInjector(new MyModule)
val messageService = injector.inject[MessageService]
messageService.sendMessage("Hello, Scaldi!")
}