<dependency>
<groupId>com.github.silk</groupId>
<artifactId>silk-di</artifactId>
<version>1.0.0</version>
</dependency>
public class MyService {
private final MyRepository repository;
@Inject
public MyService(MyRepository repository) {
this.repository = repository;
}
public void doSomething() {
repository.saveData();
}
}
public class MyRepository {
public void saveData() {
}
}
properties
service.class=com.example.MyService
service.constructor.argument.1=com.example.MyRepository
import com.github.silk.Silk;
public class Application {
public static void main(String[] args) {
Silk silk = new Silk();
silk.bind(MyService.class).to(MyService.class);
silk.bind(MyRepository.class).to(MyRepository.class);
MyService myService = silk.getInstance(MyService.class);
myService.doSomething();
}
}
public class Application {
@Inject
private MyService myService;
public void run() {
myService.doSomething();
}
public static void main(String[] args) {
Silk silk = new Silk();
silk.injectInto(new Application()).run();
}
}