假设我有10个grails服务。这些服务中的每一个都将拨打REST服务。所以,我想封装REST代码,以便它可以轻松地被10个服务所使用。grails服务层次结构
在考虑的选择,我可以:
1)创建REST相关的代码,其他服务或豆,并注入它的10所服务的每一个。
2)创建一个包含REST代码的超类服务,并且所有10个grails服务扩展这个类。
我试着去选择2,但遇到依赖注入到超类的问题。
实施例:
class SuperService {
def aString
}
class ExampleService extends SuperService {
}
resources.groovy:
beans = {
superService(SuperService) {
aString = "something"
}
exampleService(ExampleService) {
}
}
当我在调试器中运行此运行的集成测试,同时,我看到ASTRING的值为空。显然,这对我来说会有问题。
正如你所预料的,具有以下resources.groovy运行相同的代码:
beans = {
superService(SuperService) {
}
exampleService(ExampleService) {
aString = "something"
}
}
和ASTRING = “东西”。
所以,我更喜欢选项2,因为它会少配置接线,但我不认为这将是可行的方法。换句话说,如果必须在每个子类中设置一个字符串,就没有价值。
的思考?
我错过了什么吗?
我对其他选项也是开放的。
由于提前, 托德
为什么你认为选项2会少配置接线? –