Play Framework + Spring,对全局对象的依赖注入

Play Framework + Spring, dependency injection to Global object

我使用 Play Framework + Spring 来自这个例子的数据 JPA:

https://github.com/typesafehub/play-spring-data-jpa

我有模型、存储库,现在我想在启动时初始化我的数据库。我使用 @Autowired 将存储库注入我的 Global.java 文件,但它们在 运行 时等于 null。这是因为 Spring 没有尝试向 Global.java 注入依赖,因为 Global.java 连包名都没有,所以我不能告诉 Spring 扫描他的包!

使用控制器Spring DI 效果很好,但如何在Global.java 中使用它?如何使用存储库初始化数据库?

您可以通过在您的上下文中定义它来显式创建一个 bean xml <bean id="global" class="Global"></bean>

此外,在默认包中包含 类 并不是一个好主意。

您可以通过设置 属性 application.globalapplication.conf 中更改 Global.java 的包。

其他方法可以是显式调用

获取依赖项
context.getBean(YourBeanClass)

Global.java 而不是 自动装配 它,因为你在 Global 中有可用的上下文。