Spring vs Java EE, czyli dylematy developera ;)

0

Zacząłem ostatnio zastanawiać się nad jedną kwestią, a mianowicie jaki mniej więcej procent aplikacji webowych pisanych jest w Java EE, a ile w Springu.
Pytam ponieważ o ile Spring i Hibernate ogarniam dość dobrze to EJB i cała otoczka Javy EE jest mi obca.

Druga kwestia to wybór IDE, piszę w IntelliJ, ale obecnie trafiłem na projekt w którym jest skonfigurowany Eclipse (którego nie ruszałem do kilku lat)- dlatego o wiele ciężej mi się na nim pracuje.

Czy warto ogarniać EJB i całą masę frameworków Javy EE czy Spring + Hibernate wystarczy do aplikacji webowych?
Jak Wy zaptrujecie się na te technologie?

3
  1. Nie ma zbyt wielu aplikacji pure Spring albo pure Java EE. Zwykle używa się trochę z jednego i trochę z drugiego.
  2. Ale co to znaczy ze jest skonfigurowany eclipse? W ogóle i jedno podejście i drugie jest głupie. To powinien być Maven albo Gradle i wtedy problemów z IDE w ogóle nie ma.
  3. Nie do końca rozumiem pytanie. Spring jest przynajmniej tak duży jak Java EE a z twojego pytania wynika jakoby Spring był czymś malutkim a Java EE nie wiadomo czym.

Zauważ ze teraz mało kto używa gołego hibernate. Raczej stosuje sie JPA (być może z Hibernate jako dostawcą).

0
  1. Dzięki za odpowiedź.
  2. Mamy postawione środowisko na wirtualce ze skonfigurowanym Eclipse (bez mvn czy gradle), dlatego ciężko by było to odpalić na IntelliJ, bez większej zabawy.
  3. Twoim zdaniem warto przyłożyć się do Springa czy do Javy EE? Ja jestem zwolennikiem Spring'a ;)

Co do Hibernate to bardziej chodziło mi o JPA a dostawcę Hibernate.

0
  1. Moim zdaniem trzeba dobierać technologie do zastosowania i tyle. Zresztą sam piszesz teraz o JPA które jest częścią Javy EE, więc jak to jest? ;)
0

Ale chodzi mi tylko o JPA, reszty z Javy EE raczej nie ruszałem ;)
Po prostu trafiłem do starego projektu z Javy EE bez mavena, bez IntelliJ i dlatego zatęskniłem za Springiem i IntelliJ ;)

2

No ale mnie chodzi o to że nie ma sensu się nastawiać na jeden stos i tyle. Ja jestem bardziej pro-Springowy a mimo to nie widze sensownych alternatyw dla JPA, JMS, JAX-WS, JAXB, JAX-RS czy JTA ;)

0

@Shalom, ten post jest odnośnie 2 komentarza do ostatniego wpisu.

A można odseparować poszczególne elementy JEE? Tzn, czy można uruchomić usługi RESTowe bez np. EJB czy CDI? JEE zawsze kojazyła mi się z pełnym kontenerem który zawiera wszystko naraz Gdzie dostaje się właśnie cały zestaw.

1

Serwer aplikacyjny zawiera implementacje do wszystkiego, co nie znaczy że musisz wszystkiego używać. Możesz też alternatywnie bawić się podobnie jak ze Springiem, poprzez dodawanie implementacji do gołego kontenera servletów.

0

Nurtuje mnie jeszcze jedna rzecz:

Projekty powinny być pisane przy użyciu Maven'a lub Gradle'a i wtedy nie ma problemu czy używa się Intellij, Eclipse etc. Napotkałem jednak na projekt bez mvn w którym używamy Eclipse (Projekt wielomodułowy z wieloma zależnościami pomiędzy modułami)

Jaki jest odsetek takich projektów?
Pytam, poniewam chciałbym pisać w IDEI Ultimate ale widzę, że nie w każdym projekcie tak się da :/

1

bakeraw2 - moze glupie pytanie, ale nie mozesz troche czasu poswiecic i zrobic poma dla tego projektu? Dlugoterminowo dobry plik buildowy to nie kaprys tylko koniecznosc.

1

Budowanie mavenem ma wiele zalet.

  • Każdy może sobie używać środowiska jakie mu się podoba.
  • Można podpiąć pod CI/Sonara etc.
  • Budowanie paczek, np. dla klienta bez IDE.
  • Masa pluginów.
  • Nie musisz sam zarządzać zewnętrznymi bibliotekami.

Jeżeli jakiś projekt jest jest tworzony przy pomocy samego IDE to coś musiało pójść nie tak.

0

Jeszcze offtop - sa jakies automaty (albo polautomaty) do tworzenia takich configow?

0

Tak czytam to stwierdzam, że nauka Spring + JPA to chyba nie pójdzie w las?

W sumie to w Java 8 coś się zmieniło i weszło Streams API, ale jaki to ma wpływ i jakie to użyteczne to nie wiem :p

0

Takie pytanko. Wybaczcie jeśli pomyle co d czego służy, bo jest tego sporo ;)

W swoich projektach w Spring mam raczej restowe api ogarnięte na sposób Jerseya zamiast Spring MVC.
Chyba szkoda czasu by uczyć się jak to wygląda w Spring MVC? Jak przejrzałem to wygląda to bardzo podobnie i jak zajdzie ptrzeba to po prostu będę tego używał?

Widziałem też jakies rozszerzenie spring mvc, web flow. Ktoś tego używa?

A cała reszta, jakies generowanie widoków... to wydaje mnie się, że lepiej to zrobić z javascript czy jakims Angularem js, niż bawić się w javowy stack.

1

Wielkich różnic przy RESTach między Spring MVC a Jax-RS (Jersey) nie ma. W JEE8 będzie wsparcie MVC i róznice między Jax-RS a Spring MVC będą jeszcze mniejsze.

A Spring WebFlow wykorzystuje się do układania przebiegu jakiegoś procesu webowego (przejść między stronami, to miałem na myśli), np. zamawianie Pizzy. W dobie RESTów już się z tego nie korzysta, ale jeśli klepiesz statyczne stronki zwracasz jakieś widoki to może okazać się to przydatne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1