【发布时间】:2013-11-12 10:31:44
【问题描述】:
我正在尝试使用 google guice 进行依赖注入,但我似乎无法将所有内容连接在一起。
在我的 web.xml 中,我像这样定义了 guiceFilter 和 guiceListener:
<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>backend.listener.GuiceConfigListener</listener-class>
</listener>
配置监听器基本上很简单:
@Override
protected Injector getInjector(){
return Guice.createInjector(new ServletModule(), new ArtsModule());
}
此时的 ArtsModule 只有一个绑定,如下所示:
@Override
protected void configure(){
bind(ArtsDAO.class).to(ArtsDAOGae.class);
}
然后我继续在服务类中对 ArtsDao 进行字段注入:
@Inject
private ArtsDAO artsDAO;
但是当我尝试构建我的项目(这是一个 maven 构建)时,我在 artDAO 领域得到了 NPE,这很可能是因为单元测试没有在 Web 环境中运行。
谁能建议我如何配置 guice biding 以便在单元测试期间获取它们?
谢谢
【问题讨论】:
标签: java unit-testing maven guice-3