java - Grails 2.4.5 如何连接对应用程序上下文的引用?

标签 java spring grails

我不敢相信这很难弄清楚。虽然我是 Grails/Groovy 新手,但我期望这应该以某种方式在 Groovy 中完成。我正在复活一个旧项目并为 Java 8 更新它。到目前为止,我已经修复了库和依赖项,但我必须更改的一件事是在 Java 类中获得对 org.springframework.core.env.Environment 的引用.我认为从应用程序上下文中获取它会很容易,但它是以某种我不理解的方式完成的。

我一直在倾诉http://docs.grails.org/2.4.5/guide/spring.html但目前还不清楚。请注意,我必须将它连接到一个 Java 类。

最佳答案

如果这个类不是 Spring bean 或以其他方式成为依赖注入(inject)的候选者,那么它很可能直接或间接地从 Spring bean 调用,例如作为 Controller 、服务或 Quartz 作业等的助手。让调用者在构造函数中或作为方法 args 将依赖项(其他 bean、ApplicationContext 等)传递给它,具体取决于更方便的方法。

如果使用依赖注入(inject)和/或传递注入(inject)的依赖项无法获得任何合理的工作,您总是可以违反 DI 和 IoC 并使用 grails.util.Holders反模式类并拉入上下文或 Spring bean,但只有在没有适当的解决方案时才应该这样做。

关于java - Grails 2.4.5 如何连接对应用程序上下文的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40115197/

相关文章:

java - vaadin & Spring 启动 : compiled widgetset is missed in jar package

java - 创建新的java进程,如子jvm

hibernate - 如何解释使用Hibernate查询的这种行为?是由于Hibernate的懒惰吗?

grails - 使用Spring Security插件在Grails中创建自定义登录表单

JavaFX:为满足条件的 ObservableList 设置计数限制

java - 从数据库中检索数据并将新数据写入mysql

java - 在执行线程上运行 Spring 方面建议

grails - 从Quartz作业持久化域类实例

Java - 阶乘基数转换

java - 使用 Intent 切换 View (android studio)