public interface HelloService {
void sayHello();
}
import com.google.auto.service.AutoService;
@AutoService(HelloService.class)
public class EnglishHelloService implements HelloService {
@Override
public void sayHello() {
System.out.println("Hello!");
}
}
@AutoService(HelloService.class)
public class ChineseHelloService implements HelloService {
@Override
public void sayHello() {
}
}
# Generated by org.example.HelloServiceAutoService
com.example.EnglishHelloService
com.example.ChineseHelloService
import java.util.ServiceLoader;
public class Main {
public static void main(String[] args) {
ServiceLoader<HelloService> services = ServiceLoader.load(HelloService.class);
for (HelloService service : services) {
service.sayHello();
}
}
}