package com.example;
public interface SomeService {
void doSomething();
}
package com.example;
import com.google.auto.service.AutoService;
@AutoService(SomeService.class)
public class SomeServiceImpl implements SomeService {
@Override
public void doSomething() {
System.out.println("Doing something...");
}
}
import com.example.SomeService;
import java.util.ServiceLoader;
public class Main {
public static void main(String[] args) {
ServiceLoader<SomeService> serviceLoader = ServiceLoader.load(SomeService.class);
for (SomeService service : serviceLoader) {
service.doSomething();
}
}
}