درک توضیحات ضروری @Spring: A Legacy Perspective

در حالی که @Required
حاشیه نویسی از زمان Spring Framework 5 منسوخ شده است، دیدن آن در پروژه های قدیمی غیرمعمول نیست.
پس چرا باید شما مراقبت؟
هر پروژه ای بر اساس یک نسخه جدید Spring Framework ساخته نشده است. پروژه های قدیمی زیادی وجود دارد، و شاید شما در حال حاضر روی یکی کار کنید یا در آینده روی یکی کار کنید.
بنابراین، پس از خواندن این پست وبلاگ، متوجه خواهید شد که این حاشیه نویسی چه کاری انجام می دهد و چگونه از آن استفاده می شود.
شاید همین الان به خاطر آن دارید این مطلب را می خوانید.
آنچه @Required انجام می دهد
به Spring می گوید که یک خاصیت bean خاص، همانطور که از نام حاشیه می گوید، است ضروری.
این یک حاشیه نویسی در سطح روش است که بررسی می کند آیا ویژگی مورد نیاز در زمان پیکربندی تنظیم شده است یا خیر. اگر وابستگی در هنگام ایجاد bean ارائه نشود، Spring a را پرتاب می کند BeanInitializationException
.
این در گذشته برای اجباری کردن برخی از خواص لوبیا مفید بود.
امروزه می توانید با قرار دادن وابستگی ها در سازنده bean یا با استفاده از یک به این هدف برسید @Autowired
حاشیه نویسی در روش مجموعه.
چگونه مورد استفاده قرار گرفت؟
با فرض اینکه این تعریف لوبیا را داشته باشیم:
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans> http://www.springframework.org/schema/beans/spring-beans.xsd">
id="employee" class="Employee">
name="name" value="John Doe" />
`
و این کد جاوا:
public class Employee {
private String name;
@Required
public void setName(String name) {
this.name = name;
}
}
این @Required
بررسی می کند که آیا name
ملک تنظیم شد. اگر اینطور نباشد، هنگام تلاش برای پیکربندی این bean، استثنایی را که در بالا ذکر کردیم، ایجاد میکند.
اکنون دفعه بعد که روی یک پروژه قدیمی کار می کنید، قبلاً با این حاشیه نویسی آشنا خواهید شد.
اگه از این تاپیک خوشتون اومد حتما دنبالم کنید، در روزهای بعد بیشتر در مورد حاشیه نویسی بهار توضیح میدم!
گوش به زنگ باشید!
ویلیان مویا (@WillianFMoya) / X (twitter.com)
ویلیان فریرا مویا | لینکدین
منابع