ServiceLoader的使用
获得接口的实现类有点困难
在Java中,由于反射的局限性,无法直接获取一个接口的所有实现子类,所以为了能够实现一个接口动态的注入实现的子类对象,需要借助ServiceLoader
简单的Demo使用
1 |
|
如果直接运行,可以发现没有任何结果,需要在META-INF\services
创建一个文件xxx.xxx.IService
(是接口类的全类名) ,内容是两个子类的全类名:
1 | learnJava.rz08.DefalutService |
再次运行结果:
1 | 21:55:48,873 INFO [main] (RzLogger.java:12) - 默认服务 |
ServiceLoader的使用
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.