আপনি এগুলি ইন্টারফেসে রাখতে পারেন তবে সতর্ক হতে হবে যে কোনও কোনও ক্ষেত্রে লেনদেন শেষ নাও হতে পারে। স্প্রিং ডক্সের সেকশন 10.5.6 এ দ্বিতীয় টিপটি দেখুন :
স্প্রিং সুপারিশ করে যে আপনি কেবলমাত্র কন্ট্রাক্ট ক্লাসগুলি (এবং কংক্রিটের ক্লাসের পদ্ধতিগুলি) @ ট্রানজেকশনাল টীকা সহ এনটেট করার ইন্টারফেসগুলির বিপরীতে টিকা রচনা করুন। আপনি অবশ্যই @ ট্রান্সজেকশনাল টিকাটি একটি ইন্টারফেসে (বা একটি ইন্টারফেস পদ্ধতিতে) রাখতে পারেন, তবে এটি কেবলমাত্র আপনি যেমনটি আশা করেন তা কাজ করে যদি আপনি ইন্টারফেস-ভিত্তিক প্রক্সি ব্যবহার করছেন। জাভা টীকাগুলি ইন্টারফেস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত নয় এর অর্থ হ'ল আপনি যদি ক্লাস-ভিত্তিক প্রক্সি (প্রক্সি-লক্ষ্য-শ্রেণি = "সত্য") বা বুনন-ভিত্তিক দিক (মোড = "অ্যাসপেক্ট") ব্যবহার করেন তবে লেনদেনের সেটিংস প্রক্সিং এবং বুনন অবকাঠামো দ্বারা স্বীকৃত নয় এবং অবজেক্টটি কোনও লেনদেনের প্রক্সিতে আবৃত হবে না, যা সিদ্ধান্তগতভাবে খারাপ হবে।
আমি এ কারণে তাদের বাস্তবায়নে রাখার সুপারিশ করব।
এছাড়াও, আমার কাছে, লেনদেনগুলি বাস্তবায়নের বিশদ হিসাবে মনে হয় তাই তাদের বাস্তবায়ন শ্রেণিতে হওয়া উচিত। লগিং বা পরীক্ষা বাস্তবায়নের জন্য মোড়ক বাস্তবায়ন (মকস) যা ট্রানজেকশনাল হওয়ার দরকার নেই তা কল্পনা করুন।