1. Επιχειρηματικά σενάρια
Υπάρχουν στατικές μέθοδοι σε εφαρμογές πλαισίου ελατηρίου που πρέπει να βασίζονται σε που διαχειρίζονται κοντέινερ, όπως αυτή:
Αυτό σίγουρα θα αναφέρει java.lang.NullPointerException: null exception.
2. Ανάλυση αρχών
Οι στατικές μεταβλητές και οι μεταβλητές κλάσης δεν είναι ιδιότητες αντικειμένων, αλλά ιδιότητες μιας κλάσης, επομένως οι στατικές μέθοδοι ανήκουν σε, οι συνηθισμένες μέθοδοι ανήκουν σε αντικείμενα οντοτήτων (δηλαδή, νέα αντικείμενα) και η έγχυση ελατηρίου δημιουργεί αντικείμενα σε δοχεία, επομένως δεν μπορούν να χρησιμοποιηθούν στατικές μέθοδοι.
Η χρήση στατικών μεταβλητών και μεταβλητών κλάσης διευρύνει το πεδίο χρήσης στατικών μεθόδων. Οι στατικές μέθοδοι δεν συνιστώνται την άνοιξη και ο κύριος σκοπός της έγχυσης εξάρτησης είναι να επιτρέψει στα δοχεία να δημιουργήσουν περιπτώσεις ενός αντικειμένου και στη συνέχεια να τις χρησιμοποιήσουν καθ' όλη τη διάρκεια ζωής τους, ενώ παράλληλα διευκολύνει τη δοκιμή.
Μόλις χρησιμοποιήσετε τη στατική μέθοδο, δεν χρειάζεται πλέον να δημιουργείτε παρουσίες αυτής της κλάσης, γεγονός που καθιστά τη δοκιμή πιο δύσκολη και δεν μπορείτε να βασιστείτε στην έγχυση για τη δημιουργία πολλαπλών παρουσιών με διαφορετικές εξαρτήσεις για μια δεδομένη κλάση, η οποία είναι σιωπηρά κοινή και είναι μια παγκόσμια κατάσταση, η οποία επίσης δεν συνιστάται μέχρι την άνοιξη.
3. Λύση
1. Προσθέστε @Autowire στη μέθοδο κατασκευής
2. Σχολιάστε με @PostConstruct
|