grails - 我可以将 grails 服务自动连接到 java src 类吗

标签 grails

我有一个 grails 服务,我想从其他库访问它

如何从位于 grails-app SRC 中的 java 类中 Autowiring Grails 服务文件夹 ?

最佳答案

How Can I autowire a Grails service from java classes located in grails-app SRC folder ?



grails-app/conf/spring/resources.groovy你可以使用这样的东西创建一个bean定义......
beans = {
    someBeanName com.packagename.SomeJavaClass
}

如果您希望该 bean 按名称自动连接,您可以执行以下操作:
beans = {
    someBeanName(com.packagename.SomeJavaClass) { bean ->
        bean.autowire = 'byName'
    }
}

这将适用于这样的事情:
// src/java/com/packagename/SomeJavaClass.java
package com.packagename;

public class SomeJavaClass {
    private MoneyService moneyService;

    // if you have a moneyService bean in the context,
    // it will be auto wired here
    public void setMoneyService(MoneyService svc) {
        moneyService = svc;
    }
}

您也可以使用 @Autowired如果您不想做 bean.autowire = 'byName',请在类里面添加注释业务在resources.groovy .

您拥有 Spring 附带的所有选项。

我希望这会有所帮助。

编辑:

或者,如果您尝试从另一个方向将 Java 类连接到您的服务,您的服务会自动按名称自动连接,因此您只需将 Java bean 添加到应用程序上下文,然后在服务中声明一个属性与bean名称相同。

服务:
// grails-app/services/com/packagename/MoneyService.groovy
package com.packagename

class MoneyService {
    def someBeanName
}

bean 定义:
// grails-app/conf/spring/resources.groovy
beans = {
    someBeanName com.packagename.SomeJavaClass
}

关于grails - 我可以将 grails 服务自动连接到 java src 类吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31985665/

相关文章:

java - 在 jetty 服务器中启动Grails

linux - Linux 上外部 Web (Grails) 应用程序配置文件的标准位置

grails - 为什么我在Grails中找不到上传的文件

http - Grails - SSL 和 Spring 安全核心

unit-testing - Grails 2.1.1-单元测试和模拟域类的元素

mysql - Tomcat 服务器与 Mysql 5.5 连接

hibernate - 没有正确的引用->删除问题

mysql - Groovy SQL everyRow 格式输出

model-view-controller - 如何在Grails中的基本 Controller 的构造函数中访问 Controller 的动态属性?

grails - 如何使用 g :select within taglib in grails