tg-me.com/javapro_ir/4287
Last Update:
🔍 بین اصطلاحات Java و Spring
POJO، DTO، Bean، Entity،
Repository و ... سردرگم شدی؟
بیا با هم راحت و خلاصه یاد بگیریمشون 👇
---
🧱 ۱. POJO (Plain Old Java Object)
کلاس ساده جاوا — بدون انوتیشن، بدون فریمورک
فقط فیلد، سازنده، Getter/Setter
📦 سادهترین ساختار داده در جاوا
---
🌱 ۲. Bean
POJOیی که توسط Spring مدیریت میشه
✅ باید JavaBean باشه (سازنده بدون پارامتر داشته باشه)
📌 با انوتیشنهایی مثل @Component، @Service یا @Repository ثبت میشه
👉 هر Bean یک POJO هست، ولی POJOییه که Spring ساخته و تزریق میکنه
---
📤 ۳. DTO (Data Transfer Object)
POJO مخصوص انتقال داده بین لایهها
🔁 فقط داده داره، نه منطق، نه انوتیشن
🎯 بیشتر بین Controller و Service استفاده میشه
📌 هر DTO یه POJO هست، ولی نه برعکس
---
📄 ۴. Entity
POJO نمایندهی یک رکورد دیتابیس
🧩 با @Entity مشخص میشه
🔗 فیلدهای کلاس به ستونهای جدول دیتابیس وصل میشن
---
🛠 ۵. DAO (Data Access Object)
کلاس سنتی برای دسترسی به دیتابیس
📝 دستی کوئری مینویسه (با JDBC یا Hibernate)
---
📚 ۶. Repository
نسخهی مدرن DAO در Spring
⚙️ با @Repository + Spring Data JPA
🚫 نیازی به نوشتن کوئری نیست!
✅ Spring خودش تولیدش میکنه – تمیزتر و راحتتر
---
🧠 ۷. Service
مرکز منطق تجاری برنامهت
📊 جایی که محاسبات و تصمیمگیریها انجام میشن
🏷 با @Service مشخص میشه
---
🌐 ۸. Controller
ورودی HTTP برنامهت
📥 درخواست میگیره، 📤 پاسخ میده
📎 با @Controller یا @RestController مشخص میشه
---
🧩 ۹. Component
انوتیشن پایه برای هر کلاس Spring
🌟 بقیه مثل @Service و @Repository نسخههای خاصش هستن
📌 برای ثبت Beanهای عمومی
---
🛠 ۱۰. Configuration
کلاسی برای پیکربندی Beanها
🔧 با @Configuration مشخص میشه
🧪 معمولاً شامل متدهایی برای ساخت Beanها در Spring هست