1
參考Guice's custom injections文章,其TypeListener對InjectLogger.class註釋執行檢查 - 可以是可選的。刪除該檢查將注入到所有Logger.class類型。自動注入記錄器與guice
class Log4JTypeListener implements TypeListener {
public <T> void hear(TypeLiteral<T> typeLiteral, TypeEncounter<T> typeEncounter) {
for (Field field : typeLiteral.getRawType().getDeclaredFields()) {
if (field.getType() == Logger.class
&& field.isAnnotationPresent(InjectLogger.class)) {
typeEncounter.register(new Log4JMembersInjector<T>(field));
}
}
}
}
我很想從聽者去掉 「& & field.isAnnotationPresent(InjectLogger.class)」。
如果我們使用Guice來注入記錄器的所有實例,是否有任何理由不自動執行(不需要註釋)?