Hasor 類掃描

2018-10-05 10:55 更新

在一些特定情況下,我們希望程序在啟動(dòng)時(shí)找到某些類。雖然我們可以通過 xml 配置的方式獲取到這些類的名字,但是類掃描還是方便很多。


Hasor是具備類掃描功能的,默認(rèn)情況下 Hasor 在啟動(dòng)時(shí)不會(huì)進(jìn)行類掃描。除非您使用了某些 Api 或插件引發(fā)了類掃描。


下面假定我們有一個(gè)接口,這個(gè)接口有若干實(shí)現(xiàn)類,例如 Module 接口。我們希望找到所有 Module 接口的實(shí)現(xiàn)類。那么可以這樣:

Set<Class<?>> aClass = apiBinder.findClass(Module.class);


再比如,我們有一個(gè)注解 @MappingTo 現(xiàn)在想找到標(biāo)記了這個(gè)注解的所有類。那么可以這樣:

Set<Class<?>> aClass = apiBinder.findClass(MappingTo.class);


倘若我想尋找某個(gè)類的子類呢,可以這樣:

Set<Class<?>> aClass = apiBinder.findClass(AbstractUser.class);


或許你會(huì)問,這不都是一樣嗎!是的 Hasor 的類掃描就是這么簡單,一個(gè) Api 完成你的所需。下面要說的這些場景 Hasor 的類掃描機(jī)制是無法滿足的。

  • 1.我想找到包含某個(gè)方法的所有類。
  • 2.我想找到方法上標(biāo)記了某個(gè)注解的所有類。
  • 3.掃描類并返回要找的方法。
  • 4.根據(jù)某個(gè)特殊規(guī)則掃描并返回類的集合。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號