@AutoService(Service.class)
public interface Service {
void doSomething();
}
@AutoService(Service.class)
public class ServiceImpl implements Service {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
}
javac -cp autoservice.jar com/example/Service.java com/example/ServiceImpl.java
ServiceLoader<Service> serviceLoader = ServiceLoader.load(Service.class);
for (Service service : serviceLoader) {
service.doSomething();
}