【问题标题】:Issue with bean creation after extending abstract class in servie在服务中扩展抽象类后创建 bean 的问题
【发布时间】:2016-09-03 18:49:37
【问题描述】:

我在 grails 项目的 src/java 中定义了一个抽象类。 Grails 服务正在扩展这个抽象类。但是在扩展抽象类之后,没有为服务创建任何bean,并且在访问服务对象时会抛出空指针异常。

src/java 中的抽象类如下

public abstract class MyAbstractClass {

  public abstract Boolean[] abstractMethod(final A a);
}

Grails 服务类如下。

class XYZService extends MyAbstractClass {

  def someService

  @Override
  public Boolean[] abstractMethod(final A a) {
    println “Did something”
    return null
  }
}

服务 XYZService 的 Bean 未创建。在控制器中添加“def xyzService”不会注入 XYSService 对象。

请建议此设置可能存在什么问题?是否缺少任何配置?

【问题讨论】:

  • 输入不足。也许你的抽象类......只是包含一个错误。如果您不发布任何源代码,我们将无法帮助您修复源代码。与普遍认为的相反,我们在这里不是巫师。我们不知道您的设置是什么样的。
  • 现在更新我的代码。请看看现在可能是什么问题。
  • 签名public Boolean[] abstractMethod(final A a);public Boolean[] processClientData(final A a) { 不同,因为名称"abstractMethod" 不等于"processClientData"

标签: java oop grails


【解决方案1】:

找到了解决办法。添加了 @Component 注释以在 Grails 服务上创建 bean,它可以工作。不确定这是否是正确的方式,因为理想情况下 grails 服务应该由 grails 本身管理,但这似乎有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多