定义一个接口
public interface GreetingService {
void sayHello(String name);
}
将其打成jar
定义实现
实现A
- 依赖GreetingService的jar,编写实现如下:
public class EnglishGreetingService implements GreetingService {
@Override
public void sayHello(String name) {
System.out.println("Hello, " + name);
}
}
- 在resources/META-INF/spring.factories中配置接口和实现类的映射
org.example.GreetingService=\
org.example.EnglishGreetingService
实现B
- 依赖GreetingService的jar,编写实现如下:
public class ChineseGreetingService implements GreetingService {
@Override
public void sayHello(String name) {
System.out.println("你好, " + name);
}
}
- 在resources/META-INF/spring.factories中配置接口和实现类的映射
org.example.GreetingService=\
org.example.ChineseGreetingService
使用服务
根据需要依赖实现A或者实现B,直接注入GreetingService即可