我是 Play 的忠实粉丝,现在我几乎在我的任何项目中都使用它。但是,随着我的一个项目变得更大,我决定包含一个 DI 解决方案。在对 Spring 和 Guice 进行了简短的考虑之后,我在 Guice 上停了下来,并为 Play 添加了 Guice 模块(http://www.playframework.com/modules/guice-1.0/home)。
它的问题似乎是注入仅适用于静态字段。这意味着我将不得不做类似的事情:
@InjectSupport
public class MyService {
@Inject
static MyBean myBean;
}
来自(http://java.dzone.com/articles/dependency-injection-play)
这让我有点害怕,尤其是在测试方面。我的意思是,确实大多数 DI 解决方案总是尝试注入单例,例如 Spring 创建每个 bean 的单个实例并注入它,这在最后是一样的,但仍然如此。我应该有这些顾虑吗?