הערות ספרינג פוסט בנייה והרס מראש

1. הקדמה

האביב מאפשר לנו לצרף פעולות מותאמות אישית ליצירת שעועית ולהרס. אנו יכולים, למשל, לעשות זאת על ידי יישום ה- אתחול שעועית ו חד פעמי ממשקים.

במדריך קצר זה נבחן אפשרות שנייה: @PostConstruct ו @ PreDestroy ביאורים.

2. @PostConstruct

אביב קורא שיטות עם הערות @PostConstruct רק פעם אחת, רק לאחר האתחול של מאפייני שעועית. זכור כי שיטות אלה יפעלו גם אם אין מה לאתחל.

השיטה עם הערות עם @PostConstruct יכולה להיות כל רמת גישה אך היא לא יכולה להיות סטטית.

דוגמה אחת לשימוש של @PostConstruct מאכלס מסד נתונים. במהלך הפיתוח, למשל, אולי נרצה ליצור כמה משתמשים המוגדרים כברירת מחדל:

מחלקה ציבורית @Component DbInit {@Autowired פרטי UserRepository userRepository; @ PostConstruct ריק ריק PostConstruct () {משתמש מנהל = משתמש חדש ("מנהל", "סיסמת מנהל"); משתמש normalUser = משתמש חדש ("משתמש", "סיסמת משתמש"); userRepository.save (admin, normalUser); }}

הדוגמה שלעיל תתחל UserRepository ואז לרוץ @PostConstruct שיטה.

3. @ PreDestroy

שיטה עם הערה @ PreDestroy פועל רק פעם אחת, רגע לפני שאביב מסיר את השעועית שלנו מהקשר היישום.

אותו דבר כמו עם @PostConstruct, השיטות המוערות באמצעות @ PreDestroy יכולה להיות כל רמת גישה אך לא יכולה להיות סטטית.

@Component מחלקה ציבורית UserRepository {פרטי DbConnection dbConnection; @PreDestroy ציבורי בטל preDestroy () {dbConnection.close (); }}

מטרת שיטה זו צריכה להיות שחרור משאבים או ביצוע מטלות ניקוי אחרות לפני שהשעועית נהרסת, למשל סגירת חיבור מסד נתונים.

4. ג'אווה 9+

שים לב ששניהם @PostConstruct ו @ PreDestroy ביאורים הם חלק מ- Java EE. ומכיוון ש- Java EE הוצא משימוש ב- Java 9 והוסר ב- Java 11 עלינו להוסיף תלות נוספת כדי להשתמש בהערות אלה:

 javax.annotation javax.annotation-api 1.3.2 

5. מסקנה

במדריך קצר זה למדנו כיצד להשתמש @PostConstruct ו @ PreDestroy ביאורים.

כמו תמיד כל קוד המקור זמין ב- GitHub.