+1 امتیاز
قبل در برنامه نویسی توسط (15 امتیاز)
ویرایش شده قبل توسط

موقعی که از فریمورک spring استفاده میکنیم،

spring container مسئول مدیریت bean هااست.

تعریف bean هم اینه :

A JavaBean is just a standard

All properties private (use getters/setters)
A public no-argument constructor
Implements Serializable.

 اگه ما فروشگاه اینترنتی داریم :

چه چیزی رو باید و چه چیزی رو بهتره که @Bean تعریف کنیم؟

بصورن کلی چطور؟

1 پاسخ

+2 امتیاز
قبل توسط (1.1هزار امتیاز)

برای اینکه سوال شما به جواب خوبی برسه اول باید Spring Stereotype Annotations یا همون @Component ، @Service و ... رو بشناسید. Stereotype Annotations بر روی کلاس قرار می گیرند و باعث می شود Spring برای کلاس هایی که بر روی آنها Stereotype Annotations خورده یک bean جدید ایجاد کند و در حقیقت یک رابطه یک به یک بین کلاسی که Stereotype Annotation خورده و bean ایجاد شده وجود دارد و کنترل عملیات wiring در این حالت بسیار محدود و با چند انوتیشن مثل @Primary یا @Qualifier است.

اما @Bean این مزیت را دارد که تعریف bean را از تعریف کلاس مجزا می کند و به ما این اجازه را می دهد bean مورد نظر خودمون رو هر طوری که دلمون میخاد تنظیم کنیم و لزوما هم محدود به رابطه یک به یک بین bean و کلاس نباشیم. این انوتیشن بر روی متد قرار میگیرد (متد هایی که درون کلاس های Configuration قرار دارند) و خروجی متد یک bean است که توسط Spring Container مدیریت می شود.

سوالات مشابه

+1 امتیاز
1 پاسخ 557 بازدید
+1 امتیاز
1 پاسخ 624 بازدید
+1 امتیاز
1 پاسخ 806 بازدید
+2 امتیاز
2 پاسخ 1.1هزار بازدید
0 امتیاز
0 پاسخ 483 بازدید
+1 امتیاز
1 پاسخ 807 بازدید
0 امتیاز
2 پاسخ 1.4هزار بازدید
0 امتیاز
1 پاسخ 471 بازدید
...