ใน grails เมื่อคุณสร้างบริการ จะมีชื่อของคลาส ดังนั้นหากฉันสร้าง CategoryService ในคอนโทรลเลอร์ ฉันจะเพิ่ม 'def categoryService' ในคอนโทรลเลอร์
แต่จะกำหนดชื่อที่แตกต่างของคลาสได้อย่างไร ตัวอย่าง: 'mycategorySvc'?
ขอบคุณ
ใน grails เมื่อคุณสร้างบริการ จะมีชื่อของคลาส ดังนั้นหากฉันสร้าง CategoryService ในคอนโทรลเลอร์ ฉันจะเพิ่ม 'def categoryService' ในคอนโทรลเลอร์
แต่จะกำหนดชื่อที่แตกต่างของคลาสได้อย่างไร ตัวอย่าง: 'mycategorySvc'?
ขอบคุณ
คุณจะต้องต่อสายด้วยตัวเองในไฟล์ spring/resources.groovy ที่กล่าวว่าฉันไม่แนะนำให้ทำสิ่งนี้ด้วยเหตุผลสองสามประการ
ฉันต้องการฟังข้อโต้แย้งสำหรับ MyCategorySvc ผ่าน MyCategoryService
และ BTW บิตแรกไม่สำคัญ (MyCatagory) ไม่จำเป็นต้องตรงกับโดเมน สิ่งเดียวที่จำเป็นสำหรับการฉีดอัตโนมัติคือคำว่าบริการในตอนท้าย คุณสามารถสร้างบริการที่เรียกว่า JooHooBooDooService และโยนมันลงใน CategoryController ได้เลย
ฉันเดาว่าคุณกำลังเผชิญกับปัญหาการคัดเลือกนักแสดงอื่น ๆ แต่เพียงเพื่อตอบคำถาม วิธีการทำเช่นนี้คือการกำหนด bean ของเราใน resources.groovy
สมมติว่าฉันมี QuestionAnswerService แทนที่จะเป็น questionAnswerService ชื่อที่ฉันต้องการ qns ดังนั้นฉันจะกำหนด qns bean ใน resources.groovy
beans = {
qns(QuestionAnswerService){
}
}
และเพียงฉีดบริการของฉันด้วยชื่อนี้ในคอนโทรลเลอร์และบริการใด ๆ เช่น
def qns
เพียงเท่านี้ ฉันมี qns ชื่อ QuestionAnswerService bean ที่ฉีดเข้าไปแล้ว
หวังว่ามันจะช่วยได้ ขอบคุณ