public interface Logger {
void log(String message);
}
import com.google.auto.service.AutoService;
@AutoService(Logger.class)
public class ConsoleLogger implements Logger {
@Override
public void log(String message) {
System.out.println("ConsoleLogger: " + message);
}
}
import com.google.auto.service.AutoService;
@AutoService(Logger.class)
public class FileLogger implements Logger {
@Override
public void log(String message) {
}
}
import java.util.ServiceLoader;
public class Main {
public static void main(String[] args) {
ServiceLoader<Logger> serviceLoader = ServiceLoader.load(Logger.class);
for (Logger logger : serviceLoader) {
logger.log("Hello, AutoService!");
}
}
}