Nie znam Spring i Enterprise JavaBeans, a tylko troche Java SE 8 i 9. Czy Spring i Enterprise JavaBeans maja zastosowania "tylko" do aplikacji webowych?

- Rejestracja:ponad 6 lat
- Ostatnio:6 dni
- Lokalizacja:Silesia/Marki
- Postów:5505
Ogólnie EJB to duża , a Spring to mała
:
- Duża
EJB powoli umiera w męczarniach i nowego kodu się w niej nie tworzy. Wymagała czegoś co się zwało Serwer Aplikacyjny jak np JBOSS. Jak ktoś się uprze i bardzo nienawidzi ludzi to można w tym nawet mikroserwisy pisać (czy dowolny modny backend)
- Mała
Spring to
EJB przeinaczone i poprawione przez społeczność - trochę lepsze, ale dalej
. Jest to uniwersalne narzędzie które można wcisnąć wszędzie i napisać nawet aplikację desktopową ze Springiem. Ale że w większości w Javie pisze się backend to większość aplikacji z Springiem to też będzie backend. Core Springa toframework i kontener wstrzykiwania zależności
- Rejestracja:ponad 3 lata
- Ostatnio:około 3 lata
- Postów:93
teofrast napisał(a):
Nie znam ... a tylko troche Java SE 8 i 9.
Jak najgorsze warunki do uczenia się tych technik. Bez **głębokiej **znajomości Javy, jedyne o czym możesz marzyć, to wklejanie złych i dobrych czarów z googla - bez zrozumienia
- Rejestracja:ponad 4 lata
- Ostatnio:ponad 2 lata
- Lokalizacja:Warszawa
- Postów:1092
@teofrast: EJB tym się różni od Springa że wymaga kontenera aplikacyjnego. Spring IoC może być nawet w zwykłej aplikacji najprostszej jako zależnośc którą dociagasz w maven czy gradle.
Jako lekki framework do IoC polecam też Guice.
- Rejestracja:ponad 3 lata
- Ostatnio:około 3 lata
- Postów:93
@scibi_92:
Tyle że jak w 2021 na rynku się mówi Spring, to na pewno się nie myśli "Spring IOC"
A to, co dziś znaczy "Spring", to też kontener, tyle że bez wyraźnej nazwy, i chyba bardziej pełny "czarów"

- Rejestracja:ponad 8 lat
- Ostatnio:42 minuty
- Lokalizacja:U krasnoludów - pod górą
- Postów:4709
scibi_92 napisał(a):
@teofrast: EJB tym się różni od Springa że wymaga kontenera aplikacyjnego.
Nie. I jedno i drugie ma swoje wersje embedded, gdzie kontener jest osadzony w aplikacji startowanej z main (spring boot vs embedded ejb). Więc w sumie jeden pies.
- Rejestracja:ponad 4 lata
- Ostatnio:ponad 2 lata
- Lokalizacja:Warszawa
- Postów:1092
@jarekr000000: dobra, źle może to ująłem, EJB wymaga chociaż tego embedded serwera z tego co się orientuję, zaś w Springu dajesz tylko w mvn zależność do Spring Core czy jak to tam się nazywa i jazda z koksem.

- Rejestracja:ponad 6 lat
- Ostatnio:6 dni
- Lokalizacja:Silesia/Marki
- Postów:5505
scibi_92 napisał(a):
@jarekr000000: dobra, źle może to ująłem, EJB wymaga chociaż tego embedded serwera z tego co się orientuję, zaś w Springu dajesz tylko w mvn zależność do Spring Core czy jak to tam się nazywa i jazda z koksem.
No ale jeśli dobrze rozumiem ideę embedded serwera to działa to jak embedded tomcat, prawda? Czyli też dodajesz zależność w pom.xml i jazda z koksem

- Rejestracja:ponad 8 lat
- Ostatnio:42 minuty
- Lokalizacja:U krasnoludów - pod górą
- Postów:4709
KamilAdam napisał(a):
scibi_92 napisał(a):
@jarekr000000: dobra, źle może to ująłem, EJB wymaga chociaż tego embedded serwera z tego co się orientuję, zaś w Springu dajesz tylko w mvn zależność do Spring Core czy jak to tam się nazywa i jazda z koksem.
No ale jeśli dobrze rozumiem ideę embedded serwera to działa to jak embedded tomcat, prawda? Czyli też dodajesz zależność w pom.xml i jazda z koksem
Dokładnie. Co prawda różni dostawcy JakartaEE robią to różnie, jedni lepiej inni gorzej, ale taki wildfly to działał po prostu po wpisaniu zależności do pom.xml
. Nie chciałbym bym tu przekonywać, że EE to takie same g**no jak Spring. Bo tak naprawdę jest dużo większe: jeszcze więcej magii, jeszcze gorsze testowanie.
- Rejestracja:ponad 4 lata
- Ostatnio:ponad 2 lata
- Lokalizacja:Warszawa
- Postów:1092
No tak, ale żeby tworzyć beany w Springu nie potrzebujesz embedded Tomcata czy innego Wildfly.

- Rejestracja:ponad 6 lat
- Ostatnio:6 dni
- Lokalizacja:Silesia/Marki
- Postów:5505
No, ale potrzebujesz kontener springowy
UPDATE
- Żeby tworzyć beany w Springu potrzebujesz kontener springowy
- Żeby tworzyć beany w EJB potrzebujesz kontener EJB który może być embedded (lub zewnętrzny)
jaka tu niby jest różnica?
- Rejestracja:ponad 4 lata
- Ostatnio:ponad 2 lata
- Lokalizacja:Warszawa
- Postów:1092
No tak, nie mniej jest on wygodniejszy i lżejszy.

gówno słowo
- nic nie znaczy, bo w czym się mierzy lekkość? Jak w megabajtach to wielkiej różnicy nie ma.. (oczywiście zależy, który serwer, TomEE jest na pewno dość mały (taki tomcat ++). Co do wygodniejszości zdecydowanie widać ją w jednym miejscu - Spring ma od dawna dobrą infrastrukturę do testów, a w EJB/JavaEE to zawsze był koszmar.

- Rejestracja:ponad 6 lat
- Ostatnio:6 dni
- Lokalizacja:Silesia/Marki
- Postów:5505
Guice jest jeszcze lżejszy i IMHO wygodniejszy.
I co najważniejsze, żeby tworzyć Beany w Guice nie potrzebujesz kontenera springowego :P Dla mnie jest to killer feature :P

- Rejestracja:ponad 4 lata
- Ostatnio:ponad 2 lata
- Lokalizacja:Warszawa
- Postów:1092
Odnośnie tej lekkości - chodzi mi o to że pobieranie Wildfly żeby mieć kontener do aplikacji w Swingu to duży overkill, dużo więcej zależności niż Spring Core.
@KamilAdam tak, uważam że Guice jest ok tylko nie o Guice OP pytał :pL
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
teofrast