Spring - @Transactional - เกิดอะไรขึ้นในพื้นหลัง
ฉันต้องการที่จะรู้ว่าสิ่งที่เกิดขึ้นจริงเมื่อคุณอธิบายวิธีการด้วย@Transactionalหรือไม่ แน่นอนฉันรู้ว่า Spring จะปิดวิธีการนั้นในธุรกรรม แต่ฉันมีข้อสงสัยดังต่อไปนี้: ฉันได้ยินมาว่า Spring สร้างคลาสพร็อกซีหรือไม่ คนที่สามารถอธิบายเรื่องนี้ในเชิงลึก มีอยู่จริงในพร็อกซีคลาสนั้น เกิดอะไรขึ้นกับชั้นเรียนจริง และฉันจะดูชั้นพร็อกซีที่สร้างขึ้นของสปริงได้อย่างไร ฉันยังอ่านในเอกสาร Spring ที่: หมายเหตุ: เนื่องจากกลไกนี้จะขึ้นอยู่กับผู้รับมอบฉันทะเท่านั้น 'ภายนอก' วิธีการโทรเข้ามาผ่านพร็อกซี่จะถูกดัก ซึ่งหมายความว่า 'การภาวนาด้วยตนเอง' เช่นวิธีการภายในวัตถุเป้าหมายที่เรียกใช้วิธีการอื่นของวัตถุเป้าหมายจะไม่นำไปสู่การทำธุรกรรมจริงที่รันไทม์แม้ว่าจะมีการทำเครื่องหมายด้วยวิธีการที่เรียก@Transactional! ที่มา: http://static.springsource.org/spring/docs/2.0.x/reference/transaction.html เหตุใดการเรียกใช้เมธอดภายนอกเท่านั้นจึงจะอยู่ภายใต้ธุรกรรมและไม่ใช่วิธีเรียกใช้ด้วยตนเอง