ฉันมีอินเทอร์เฟซระดับบริการที่ขยายจากอินเทอร์เฟซพื้นฐาน ฉันต้องการสร้าง Pointcut รอบอินเทอร์เฟซระดับบริการของฉัน แต่ใช้วิธีใดวิธีหนึ่งที่กำหนดไว้ในอินเทอร์เฟซพื้นฐาน
ตัวอย่างเช่น.... ฉันมีเมธอดในอินเทอร์เฟซพื้นฐานที่เรียกว่า "save()" ฉันใส่มันไว้ในอินเทอร์เฟซพื้นฐานเนื่องจากอินเทอร์เฟซ "ลูก" ทั้งหมดของฉันจะมีฟังก์ชัน "บันทึก"
ฉันต้องการสร้าง PointCut บนอินเทอร์เฟซ "ลูก" เพียงอินเทอร์เฟซเดียวของฉันสำหรับเวลาที่ "บันทึก" ของฉันถูกเรียก
ฉันสร้างพอยต์คัทดังนี้:
@Pointcut("execution(* com.xyz.someapp.ChildServiceInterface.save(..))")
public void childServiceSavePointCut();
จากนั้นฉันก็สร้างคำแนะนำ @Around เกี่ยวกับ pointcut ข้างต้นดังต่อไปนี้:
@Around("childServiceSavePointCut()")
public void doMyAdvice()....
โดยที่ "ChildServiceInterface" ขยายอินเทอร์เฟซอื่นซึ่งมีการกำหนดวิธีการ "save()"
คำแนะนำของฉันไม่เคยทำงาน... ฉันแก้ไขโค้ดของฉันแล้วและไม่เห็นคำแนะนำของฉันในรายการที่ปรึกษาสำหรับบริการเป้าหมายของฉัน
ฉันคิดผิดไปจากเดิมหรือเปล่าว่าสิ่งนี้จะได้ผลหรือฉันกำลังใช้งานไม่ถูกต้อง