java - Guice 注入字段后是否可以做点什么?
问题描述
考虑这个例子:
public class GuiceExample {
@Inject
private IDataManager dataManager;
public static void main(String[] args) {
Injector injector = Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(IDataManager.class).to(DataManager.class);
}
});
GuiceExample example = injector.getInstance(GuiceExample.class);
example.dataManager.printData();
}
public static interface IDataManager {
void printData();
}
public static class DataManager implements IDataManager {
@Override
public void printData() {
System.out.println("I print data.");
}
}
}
是否可以在类初始化后立即做某事GuiceExample
(注入字段)?
我已经尝试添加一个@PostConstruct
方法以防万一......但它没有被调用。
@PostConstruct
private void fieldsAreInjected() {
System.out.println("Checking if datamanager is null:");
System.out.println(dataManager == null);
}
我试图在网上找到任何东西,但一无所获。有可能还是@Inject
构造函数是唯一的方法?
解决方案
推荐阅读
- java - MissingResourceException:找不到捆绑包
- node.js - 从 npm 脚本运行 docker 不起作用
- jquery - 为 TokenAuthentication DRF 安全地从 jQuery Ajax 调用访问令牌
- soap - 无法请求 TokenCreateRQ 1.0.0
- javascript - 当fancybox 打开并处于活动状态时,jQuery 不起作用
- tsql - 重组数据以输出 TSQL 中疾病报告的疾病周期
- concurrency - Cassandra 行顺序与集群键的一致性
- javascript - 克隆节点上的 JavaScript 清除文本框
- azure - 逻辑应用程序运行成功,但没有拾取数据
- scala - mapGroupsWithState 中的 setTimeoutTimestamp() 有什么作用?