#programowanie #spring #java Mirki, dlaczego w Springu najlepszym wyjściem jeżeli chodzi o wstrzykiwanie zależności jest metoda z konstruktorem? I czy np. dobrze jest takie pole oznaczać jako final i z jakiego powodu?
Setterem? Używanie setterów powoduje, że istnieje możliwość utworzenia obiektu, który będzie miał niepoprawny stan przez brakującą zależność (pomiędzy utworzeniem obiektu, a użyciem settera). To się w OOP nigdy nie powinno zdarzać. Albo trzeba obsługiwać, że zależność może nie być przekazana w każdym miejscu, gdzie jest używana. To jest często
@zakopiak: już wyjaśnił, dlatego podsumuję: Construtor injection jest jedynym poprawnym sposobem wstrzykiwania zależności i modelowania grafu problemowego. Cała reszta ( wstrzykiwanie przez refleksję/annotacje, wstrzykiwanie przez settery, robienie obiektów w środku ) to mega słabe hacki
Od tygodnia męczy mnie typ, szantażuje mnie, grozi, wysyła niepokojące rzeczy, dziś dostałam już po prostu głosówke, że mnie jutro zabije.
Pojechałam przed chwilą o 2 w nocy na pierwszy komisariat, nie miał kto odebrać zgłoszenia, pojechałam na drugi. Nikt nawet nie wyszedł, nawet nie podszedł do szyby tylko rozmawiałam przez jakiś mikrofon.
Rozmowa w tonie takim żeby mnie zbyć i dosłownie wyśmiać moje przerażenie.
Dobrze jest takie pole zaznaczyć jako final, aby było pewne, że to ma być ustawiane jedynie przez kontener w cyklu życia.
@D3xxT3r: A jak inaczej chcesz to robić?
Setterem? Używanie setterów powoduje, że istnieje możliwość utworzenia obiektu, który będzie miał niepoprawny stan przez brakującą zależność (pomiędzy utworzeniem obiektu, a użyciem settera). To się w OOP nigdy nie powinno zdarzać. Albo trzeba obsługiwać, że zależność może nie być przekazana w każdym miejscu, gdzie jest używana. To jest często