<dependencies>
<dependency>
<groupId>com.github.silk</groupId>
<artifactId>silk-di</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
groovy
dependencies {
implementation 'com.github.silk:silk-di:1.0.0'
}
public class ExampleComponent {
public void doSomething() {
System.out.println("Hello from ExampleComponent!");
}
}
@Component
public class ComponentConfig {
@Provides
public ExampleComponent provideExampleComponent() {
return new ExampleComponent();
}
}
public class App {
public static void main(String[] args) {
SilkDI.init(ComponentConfig.class);
}
}
public class ExampleService {
private final ExampleComponent exampleComponent;
@Inject
public ExampleService(ExampleComponent exampleComponent) {
this.exampleComponent = exampleComponent;
}
public void doSomethingWithComponent() {
exampleComponent.doSomething();
}
}
public class App {
public static void main(String[] args) {
SilkDI.init(ComponentConfig.class);
ExampleService exampleService = SilkDI.getComponent(ExampleService.class);
exampleService.doSomethingWithComponent();
}
}