dupogisaga
dupogisaga
#java #programowanie #programista15k
O co chodzi z tym freamworkiem spring na Javę? Jak cokolwiek o nim szukam to znajduje tylko zbędne p---------e, nawet tutoriale od hindusów zamiast coś praktycznego pokazać to cały czas pokaz slajdów. Do czego to służy?
2
  • Najlepsze
  • Wszystkie komentarze
zajety_login
zajety_login
@olektrolek: Ta wygoda jest bardzo pozorna. W rzeczywistości takie rozwiązanie przynosi więcej szkód niż pożytku.
2
E.....e
E.....e
1
zajety_login
zajety_login
@SharkyShark: Jak najbardziej mogę rozszerzyć myśl. No więc przede wszystkim odnosiłem się do mechanizmu Spring DI, a niekoniecznie do samego Springa (aczkolwiek jego fanem również nie jestem). To dlatego że ten mechanizm jest oparty o runtime reflection, a więc graf zależności jest budowany dopiero w czasie działania aplikacji. To z kolei jest źródłem kilku poważnych problemów:
* nie jesteś w stanie w łatwy sposób zobaczyć jak wygląda graf zależności Twojej
1
olektrolek
olektrolek
niem coraz bardziej przekonuje się że


@dupogisaga: definiujesz klasy jako komponenty, spring je automatycznie tworzy i udostepnia podczas runtime jako tzw "beany". zarządza ich "życiem". jest to bardzo wygodne rozwiązanie bo nie musisz się martwić tworzenie nowych instancji itp...
0
SharkyShark
@zajety_login: Możesz rozszerzyć swoją myśl? Jak nie Spring to co?
0
dupogisaga
dupogisaga
@olektrolek: To jest rozszerzenie Javy EE? Jeśli chcę iść w tym kierunku powinienem zacząć od Javy EE?
0
r.....j
r.....j
@dupogisaga: nie musisz
0
krasnoludkolo
@SharkyShark: hm, java? Normalnie możesz pisać całą logikę w javie, a do http użyć jakieś lekkiego javalina, ratpacka czy czegoś podobnego.
0
panczekolady
panczekolady
@zajety_login: Jaka jest alternatywa? Jak żyć?
0
zajety_login
zajety_login
@panczekolady: Dla Springa czy dla runtime dependency injection?
0
panczekolady
panczekolady
@zajety_login: Ogólnie dla DI, aby wyeliminować:

* często prowadzi do tight couplingu pomiędzy komponentami (bo w dowolnym miejscu w swoim kodzie możesz wstrzyknąć dowolną inną zależność)

* nie jesteś w stanie w łatwy sposób zobaczyć jak wygląda graf zależności Twojej aplikacji
0
zajety_login
zajety_login
@panczekolady: Podejście, które moim zdaniem się sprawdza, to ręczne budowanie grafu zależności. Masz jakieś jedno miejsce w aplikacji, w którym inicjalizujesz wszystkie niezbędne komponenty do działania. Dzięki temu masz pełny wgląd w to co jest inicjalizowane i gdzie jest przekazywane. Do tego masz pełne wsparcie kompilatora, który nie pozwoli żebyś zapomniał o przekazaniu jakiejś zależności. Ponadto sprawia że bardziej pilnujesz się z tym gdzie trafia jakaś zależność, i czy przypadkiem
0