Skip to content

Commit 68c9716

Browse files
committed
#0 spi ServiceLoader
1 parent 6c8151f commit 68c9716

File tree

12 files changed

+86
-285
lines changed

12 files changed

+86
-285
lines changed

build.gradle

Lines changed: 0 additions & 19 deletions
This file was deleted.

gradle/wrapper/gradle-wrapper.jar

-53.9 KB
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 0 additions & 5 deletions
This file was deleted.

gradlew

Lines changed: 0 additions & 172 deletions
This file was deleted.

gradlew.bat

Lines changed: 0 additions & 84 deletions
This file was deleted.

pom.xml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
<groupId>com.fred</groupId>
6+
<artifactId>demo</artifactId>
7+
<version>0.0.1-SNAPSHOT</version>
8+
<name>demo</name>
9+
<description>Demo project for Spring Boot</description>
10+
11+
<properties>
12+
<java.version>1.8</java.version>
13+
</properties>
14+
15+
<dependencies>
16+
<dependency>
17+
<groupId>org.junit.jupiter</groupId>
18+
<artifactId>junit-jupiter-api</artifactId>
19+
<version>5.5.0</version>
20+
</dependency>
21+
</dependencies>
22+
23+
<build>
24+
<plugins>
25+
<plugin>
26+
<groupId>org.apache.maven.plugins</groupId>
27+
<artifactId>maven-compiler-plugin</artifactId>
28+
<version>3.8.1</version>
29+
<configuration>
30+
<source>1.8</source>
31+
<target>1.8</target>
32+
</configuration>
33+
</plugin>
34+
</plugins>
35+
</build>
36+
37+
</project>

settings.gradle

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.fred.spi;
2+
3+
public interface LogService {
4+
5+
void log();
6+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.fred.spi.impl;
2+
3+
import com.fred.spi.LogService;
4+
5+
public class LogServiceAImpl implements LogService {
6+
@Override
7+
public void log() {
8+
System.out.println("log A");
9+
}
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.fred.spi.impl;
2+
3+
import com.fred.spi.LogService;
4+
5+
public class LogServiceBImpl implements LogService {
6+
@Override
7+
public void log() {
8+
System.out.println("log B");
9+
}
10+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.fred.spi;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.util.ServiceLoader;
6+
7+
public class ServiceLoaderTest {
8+
9+
@Test
10+
public void testLoad() {
11+
ServiceLoader<LogService> serviceLoader = ServiceLoader.load(LogService.class);
12+
// serviceLoader.iterator();
13+
//
14+
// for (LogService logService : serviceLoader) {
15+
// System.out.println(logService.getClass());
16+
// }
17+
for (LogService logService : serviceLoader) {
18+
logService.log();
19+
}
20+
}
21+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
com.fred.spi.impl.LogServiceAImpl
2+
com.fred.spi.impl.LogServiceBImpl

0 commit comments

Comments
 (0)