<dependency> <groupId>com.google.auto.service</groupId> <artifactId>auto-service</artifactId> <version>1.0-rc6</version> <scope>provided</scope> </dependency> public interface Calculator { int add(int a, int b); } import com.google.auto.service.AutoService; @AutoService(Calculator.class) public class BasicCalculator implements Calculator { @Override public int add(int a, int b) { return a + b; } } <build> ... <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <annotationProcessorPaths> <path> <groupId>com.google.auto.service</groupId> <artifactId>auto-service</artifactId> <version>1.0-rc6</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> import java.util.ServiceLoader; public class App { public static void main(String[] args) { ServiceLoader<Calculator> calculatorLoader = ServiceLoader.load(Calculator.class); for (Calculator calculator : calculatorLoader) { int result = calculator.add(10, 20); System.out.println(result); } } }


上一篇:
下一篇:
切换中文