การแนะนำ
แนวคิดของธุรกรรมเป็นพื้นฐานของระบบการจัดการฐานข้อมูล (DBMS) ธุรกรรมช่วยให้มั่นใจในความสมบูรณ์ของข้อมูลโดยการจัดการชุดคำสั่ง SQL เป็นหน่วยงานเดียว หากการดำเนินการเดียวภายในธุรกรรมล้มเหลว ธุรกรรมทั้งหมดจะล้มเหลว และฐานข้อมูลยังคงไม่เปลี่ยนแปลง
Spring ซึ่งเป็นเฟรมเวิร์กที่แข็งแกร่งและได้รับความนิยมสำหรับการสร้างแอปพลิเคชัน Java นำเสนอเลเยอร์นามธรรมที่สอดคล้องกันสำหรับการจัดการธุรกรรม ทำให้ง่ายต่อการจัดการธุรกรรมใน DBMS ประเภทต่างๆ ในบล็อกโพสต์นี้ เราจะเจาะลึกว่า Spring จัดการธุรกรรมอย่างไร
ทำความเข้าใจธุรกรรมในฤดูใบไม้ผลิ
การสนับสนุนธุรกรรมของ Spring มีเป้าหมายเพื่อให้ API ที่เรียบง่ายขึ้นสำหรับการจัดการธุรกรรมแบบเป็นโปรแกรมและการจัดการธุรกรรมที่เปิดเผยในแอปพลิเคชัน API ธุรกรรมหลักใน Spring คือ PlatformTransactionManager และ TransactionTemplate
PlatformTransactionManager เป็นอินเทอร์เฟซหลักที่สรุปนโยบายการจัดการธุรกรรม มันทำงานร่วมกับกลยุทธ์การทำธุรกรรมต่างๆ ของ Spring โดยสรุปความหมายของธุรกรรม เช่น การเริ่มต้นและการทำธุรกรรม
TransactionTemplate เป็นคลาสตัวช่วยที่ช่วยลดความยุ่งยากในการแบ่งเขตธุรกรรมทางโปรแกรมและการจัดการข้อยกเว้นของธุรกรรม เทมเพลตจะจัดการการสร้างและการเปิดตัวทรัพยากร ช่วยให้คุณมุ่งเน้นไปที่ตรรกะทางธุรกิจมากกว่าการจัดการธุรกรรมที่สำคัญ
การจัดการธุรกรรมที่เปิดเผย
การจัดการธุรกรรมที่เปิดเผยใน Spring ช่วยให้คุณจัดการธุรกรรมผ่านการกำหนดค่าแทนที่จะทำธุรกรรมฮาร์ดโค้ดในรหัสแอปพลิเคชันของคุณ โดยทั่วไปจะเป็นแนวทางที่ต้องการ เนื่องจากจะทำให้การจัดการธุรกรรมอยู่ภายนอกจากรหัสธุรกิจ
Spring รองรับธุรกรรมที่ประกาศโดยใช้คำแนะนำธุรกรรม (ผ่าน AOP) และคำอธิบายประกอบ @Transactional
คำอธิบายประกอบ @Transactional สามารถใช้ได้ทั้งในระดับชั้นเรียนและระดับเมธอด Spring สร้างพร็อกซีรอบคลาสที่มีคำอธิบายประกอบเพื่อใช้การจัดการธุรกรรม
ต่อไปนี้คือตัวอย่างการใช้คำอธิบายประกอบ @Transactional:
@Service public class…