1. Liiketoimintaskenaariot
Springin kehyssovelluksissa on staattisia menetelmiä, jotka tarvitsevat luokkia, joita kontit hallinnoivat, kuten tämä:
Tämä raportoi varmasti java.lang.NullPointerException: null exception.
2. Periaateanalyysi
Staattiset muuttujat ja luokkamuuttujat eivät ole objektien ominaisuuksia, vaan luokan ominaisuuksia, joten staattiset metodit kuuluvat luokkiin, tavalliset metodit entiteettiobjekteihin (eli uusiin objekteihin), ja jousiruiskutus ilmentää olioita kontteissa, joten staattisia menetelmiä ei voi käyttää.
Staattisten muuttujien ja luokkamuuttujien käyttö laajentaa staattisten menetelmien käyttöä. Staattisia menetelmiä ei suositella keväällä, ja riippuvuuden injektion päätarkoitus on mahdollistaa konttien luoda esineiden instansseja ja käyttää niitä koko elinkaarensa ajan, samalla kun testaus on helpompaa.
Kun käytät staattista metodia, sinun ei enää tarvitse generoida tämän luokan instansseja, mikä vaikeuttaa testaamista, eikä injektioon voi luottaa useiden instanssien luomiseen eri riippuvuuksilla tietylle luokalle, mikä on implisiittisesti jaettu ja globaali tila, jota kevätkään ei suositella.
3. Ratkaisu
1. Lisää @Autowire rakennusmenetelmään
2. Merkitse @PostConstruct
|