What if I want to have my own plug-in architecture within Grails?-Collection of common programming errors

Grails uses Spring underneath, so you can inject as many services into your controller as you wish if you know Spring.

But I’d think about a possible good reason to not do so. When you start putting several services into a controller, it’s the controller that’s taking over the order in which they’re called. It sounds like a workflow to me at that point, something that is best left to a service.

Controllers are part of the web tier. You can’t expose that process to a client that comes in through another channel besides the web tier if it’s buried in the controller.

I’d recommend that you not do this, even if it’s possible. A better idea would be to expose what sounds like a complex use case in another service. Encapsulate it and hide the details from clients. That’s what objects are for – hiding complexity.