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?
Zastosowania Spring i Enterprise JavaBeans
- Rejestracja: dni
- Ostatnio: dni
- Postów: 205
Nie tylko :) Możesz mieć różne typy aplikacji działających na backendzie, mogą to być np. aplikacje które czytają z kolejek JMS, aplikacje wykonujące batch taski, mogą to być też joby odpalane przez crona co jakiś czas
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
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: dni
- Ostatnio: dni
- 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: dni
- Ostatnio: dni
- 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: dni
- Ostatnio: dni
- 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: dni
- Ostatnio: dni
- Lokalizacja: U krasnoludów - pod górą
- Postów: 4712
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: dni
- Ostatnio: dni
- 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: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
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: dni
- Ostatnio: dni
- Lokalizacja: U krasnoludów - pod górą
- Postów: 4712
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: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1092
No tak, ale żeby tworzyć beany w Springu nie potrzebujesz embedded Tomcata czy innego Wildfly.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
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: dni
- Ostatnio: dni
- Lokalizacja: Warszawa
- Postów: 1092
No tak, nie mniej jest on wygodniejszy i lżejszy.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Silesia/Marki
- Postów: 5549
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: dni
- Ostatnio: dni
- 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