Zastosowania Spring i Enterprise JavaBeans

Zastosowania Spring i Enterprise JavaBeans
teofrast
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 3 lata
  • Postów:140
0

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?


amateur programmer
level: beginner
damianem
  • Rejestracja:prawie 8 lat
  • Ostatnio:4 miesiące
  • Postów:205
0

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

teofrast
ta informatyka jest tak obszerna ze tylko zadam pytanie i dowiaduje sie o jakich rzeczach nie mam pojecia
K5
@teofrast: traktuj tę odpowiedź jako: 'nie tylko, ale w większości do webówki'
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
3

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

Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
JM
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 3 lata
  • Postów:93
1
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

teofrast
ja nawet nie chce patrzec na Spring czy EJB jezeli wczesniej nie przerobie Javy SE w ok. 90%
S9
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:1092
2

@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.


JM
  • Rejestracja:ponad 3 lata
  • Ostatnio:około 3 lata
  • Postów:93
0

@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"

jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:42 minuty
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
1
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.


jeden i pół terabajta powinno wystarczyć każdemu
edytowany 1x, ostatnio: jarekr000000
S9
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:1092
0

@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.


KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
0
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


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
jarekr000000
  • Rejestracja:ponad 8 lat
  • Ostatnio:42 minuty
  • Lokalizacja:U krasnoludów - pod górą
  • Postów:4709
1
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.


jeden i pół terabajta powinno wystarczyć każdemu
S9
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:1092
0

No tak, ale żeby tworzyć beany w Springu nie potrzebujesz embedded Tomcata czy innego Wildfly.


KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
0

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?


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
S9
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:1092
0

No tak, nie mniej jest on wygodniejszy i lżejszy.


jarekr000000
lżejszy to takie 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.
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:6 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
0

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


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
Shalom
żeby tworzyć Beany w Guice nie potrzebujesz kontenera springowego ? Ale potrzebujesz kontener Guice, więc jaka to niby różnica? CDI to CDI
KamilAdam
@scibi_92 zaczął tą dziwną argumentację że żeby tworzyć Beany w Springu nie potrzebujesz Wildfly'a, ja to tylko kontynuuje :P Gdzie różnica między Springiem a Guice? IMHO Guice wprowadza mniej patologi bo mniejszy
S9
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 2 lata
  • Lokalizacja:Warszawa
  • Postów:1092
0

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.