Từ bộ điều khiển của tôi, tôi muốn tự động chọn dịch vụ dựa trên thông số.Cách tự động chọn dịch vụ trong Grails
Hiện nay tôi có một dịch vụ cơ bản và một số dịch vụ khác mà mức độ dịch vụ cơ sở này. Dựa trên các thông số tôi gọi một lớp học mà không tạo ra một tên đậu dựa trên param và cuối cùng gọi như sau:
import org.codehaus.groovy.grails.web.context.ServletContextHolder as SCH
import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes as GA
class Resolver {
def ctx
def getBean(String beanName) {
if(!ctx) {
ctx = SCH.servletContext.getAttribute(GA.APPLICATION_CONTEXT)
}
return ctx."${beanName}"
}
}
này trả về dịch vụ tôi muốn. Tuy nhiên tôi cảm thấy khá bẩn làm theo cách này. Có ai có một cách tốt hơn để xử lý nhận được một dịch vụ (hoặc bất kỳ đậu khác) dựa trên một số tham số?
Cảm ơn bạn.