@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Component {
String value() default "";
}
@Component("myComponent")
public class MyComponent {
public void execute() {
System.out.println("MyComponent is executing...");
}
}
public class Application {
public static void main(String[] args) {
Scannit scanner = new Scannit();
for (Object component : components.values()) {
if (component instanceof MyComponent) {
MyComponent myComponent = (MyComponent) component;
myComponent.execute();
}
}
}
}