Я пытаюсь использовать Guice для внедрения экземпляров Log4J Logger в классы, как описано в документации Guice:
http://code.google.com/p/google-guice/wiki/CustomInjections
Однако, как отмечалось в некоторых комментариях на этой вики-странице, эта схема не поддерживает внедрение в конструктор. Поэтому я не могу сделать это:
public class Foo {
@InjectLogger Logger logger;
@Inject
public Foo(<injected parameters>) {
logger.info("this won't work because logger hasn't been injected yet");
...
}
public bar() {
logger.info("this will work because by the time bar() is called,")
logger.info("the logger has been injected");
}
}
Есть ли другой способ обработать эту инъекцию так, чтобы регистратор вводился вовремя для использования конструктором?