admin hai 1 ano
pai
achega
fa8c4687e1

+ 17 - 0
spiSpring/pom.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.example</groupId>
+    <artifactId>spiSpring</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>

+ 9 - 0
spiSpring/src/main/java/org/example/JavaServiceImpl.java

@@ -0,0 +1,9 @@
+package org.example;
+
+public class JavaServiceImpl implements ProgrammingLanguageService{
+
+    @Override
+    public void study() {
+        System.out.println("Java!!!!!!");
+    }
+}

+ 5 - 0
spiSpring/src/main/java/org/example/ProgrammingLanguageService.java

@@ -0,0 +1,5 @@
+package org.example;
+
+public interface ProgrammingLanguageService {
+    void study();
+}

+ 8 - 0
spiSpring/src/main/java/org/example/PythonServiceImp.java

@@ -0,0 +1,8 @@
+package org.example;
+
+public class PythonServiceImp implements ProgrammingLanguageService{
+    @Override
+    public void study() {
+        System.out.println("Python");
+    }
+}

+ 20 - 0
spiSpring/src/main/java/org/example/ServiceLoaderTest.java

@@ -0,0 +1,20 @@
+package org.example;
+
+import java.util.Iterator;
+import java.util.ServiceLoader;
+
+/**
+ * @author wangzhenjun
+ * @date 2023/5/31 13:46
+ */
+public class ServiceLoaderTest {
+
+    public static void main(String[] args) {
+        ServiceLoader<ProgrammingLanguageService> serviceLoader = ServiceLoader.load(ProgrammingLanguageService.class);
+        Iterator<ProgrammingLanguageService> iterator = serviceLoader.iterator();
+        while (iterator.hasNext()) {
+            ProgrammingLanguageService service = iterator.next();
+            service.study();
+        }
+    }
+}

+ 2 - 0
spiSpring/src/main/resources/META-INF/services/org.example.ProgrammingLanguageService

@@ -0,0 +1,2 @@
+org.example.JavaServiceImpl
+org.example.PythonServiceImp