我在这个例子中使用了Play Framework + Spring Data JPA:
https://github.com/typesafehub/play-spring-data-jpa
我有模型、存储库,现在我想在启动时初始化我的数据库。我使用@Autowired
将存储库注入我的 Global.java 文件,但它们等于运行时的null
。这是因为 Spring 不会尝试向 Global.java 注入依赖项,因为 Global.java 甚至没有包名,所以我不能告诉 Spring 扫描他的包!
使用控制器Spring DI运行良好,但是如何在全局.java中使用它?如何使用存储库初始化数据库?
您可以通过设置属性application.global
来更改application.conf
中的Global.java
包。
其他方法是显式调用获取依赖项
context.getBean(YourBeanClass)
Global.java
而不是自动连接它,因为您在Global
中提供了上下文。
您可以通过在上下文 xml 中定义它来显式创建 Bean<bean id="global" class="Global"></bean>
此外,在默认包中拥有类不是一个好主意。