@AnnotationsBuilder
public @interface MyAnnotation {
String value() default "";
}
public class MyLibrary {
@Configure
private String configurationValue;
public MyLibrary() {
SundrioAnnotations.configure(this);
}
@Configure
public void setConfigurationValue(String value) {
this.configurationValue = value;
}
}
@MyAnnotation(value = "My Configuration Value")
public class Main {
public static void main(String[] args) {
MyLibrary library = new MyLibrary();
}
}
@MyModule
public class MyLibraryModule {
@Inject
private MyDependency dependency;
public MyLibraryModule() {
SundrioAnnotations.injectDependencies(this);
}
public void doSomething() {
dependency.doSomething();
}
}
public class Main {
public static void main(String[] args) {
MyLibraryModule module = new MyLibraryModule();
}
}
<dependency>
<groupId>io.sundr.builder</groupId>
<artifactId>sundrio-annotations</artifactId>
<version>1.1.6</version>
</dependency>