在grails域类中使用接口时出错
我试图用grails实现一个接口基域类,但在运行时遇到了错误。错误类型为在grails域类中使用接口时出错,grails,groovy,Grails,Groovy,我试图用grails实现一个接口基域类,但在运行时遇到了错误。错误类型为无法确定:com.testApp.MyInterface的类型,见表C // in /src/groovy directory interface MyInterface{ int returnSomething() } // in domain class directory class A implements MyInterface{ int returnSomething(){
无法确定:com.testApp.MyInterface的类型,见表C
// in /src/groovy directory
interface MyInterface{
int returnSomething()
}
// in domain class directory
class A implements MyInterface{
int returnSomething(){
//a first implementation here
}
}
class B implements MyInterface{
int returnSomething(){
//a second implementation here
}
}
class C {
....
MyInterface type
..............
}
我认为,因为我没有在域类C中指定“MyInterface”的真正实现,grails在启动时注入bean时遇到了麻烦。但是我想尽量保持
MyInterface
的抽象性,因为不同的类将以不同的方式实现它。有没有办法克服这个错误?我是否可以在不使用域类扩展的情况下构建模型(我希望尽可能避免这种情况)?仅当您希望持久化数据时,才需要域类。在不了解具体情况的情况下,您可能希望创建类A、B和C服务,而不是域类。根据我的经验,子类和接口在服务领域比在域类领域工作得更好。我可以想象,每个returnSomething()实现将在不需要接口的不同域类上运行