groovy
dependencies {
implementation 'com.google.auto.service:auto-service:1.0-rc7'
annotationProcessor 'com.google.auto.service:auto-service:1.0-rc7'
}
public interface Service {
void doSomething();
}
import com.google.auto.service.AutoService;
@AutoService(Service.class)
public class ServiceImpl implements Service {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
}
META-INF/services/com.example.Service
com.example.ServiceImpl
import com.example.Service;
import java.util.ServiceLoader;
public class Main {
public static void main(String[] args) {
ServiceLoader<Service> loader = ServiceLoader.load(Service.class);
for (Service service : loader) {
service.doSomething();
}
}
}