發現ServiceLoader是個相似spring的東西,能夠指定接口和實現,經過ServiceLoader去載入。
下面是個人一個例子:javascript
Java代碼java
依賴的IHello是在另一個jar包:test.jar.在test.jar裏有一個接口,兩個實現,Hello1和Hello2. 經過在的META-INF下的services文件夾的com.test.IHello文件來指定實現,多個實現的時候使用換行。
如個人項目中就是spring
Java代碼app
注意,這個只能是打成jar以後給其餘項目用,本身是不能夠用本身的。
附件有個人源碼spa