SpringBoot vs Spring MVC

Odpowiedz Nowy wątek
2019-03-03 11:44

Rejestracja: 2 lata temu

Ostatnio: 2 dni temu

1

Cześć.
Mam kilka pytań odnośnie SpringBoota a Spring MVC.

1) SpringMVC potrzebuje plików .war, które następnei są odpalane na serwerze np. Tomcat. Z tego co wyczytałem, to Spring Boot nie potrzebuje takiego rozszerzenia i wystarczy mu .jar. Mam rozumieć, że jest to w ten sposób zrobione, aby łatwiej się włączało aplikacje?

2)Wg https://spring.io/guides/gs/convert-jar-to-war/ A popular subject is that many people still wish to generate WAR files to be deployed inside containers. Dlaczego chcą utrudniać sobie życie? Debugowanie, odpalanie SpringBoota z jarow jest chyba prostsze?

3) Dlaczego SpringMVC nie posiada maina, a SpringBoot posiada? Jaka jest różnica, skoro obydwa są przeznaczone do aplikacji webowych?

edytowany 1x, ostatnio: jajko1233, 2019-03-03 11:45

Pozostało 580 znaków

2019-03-03 12:14
Moderator

Rejestracja: 16 lat temu

Ostatnio: 1 minuta temu

0

Wszystko to bzdury i półprawdy.
Spring Boot to zestaw standardowych konfiguracji dla Springa, w tym Spring MVC, nic więcej.
Czy trzeba w Spring MVC budować wara i czy nie da sie tego startować na embedded kontenerze przez maina? Popełniłem lata temu takie coś: https://github.com/Pharisaeus/SpringScaffoldApplication zero Spring boota a jednak dostajesz runnable jara. Magia? Nie, ten kod robi mniej-wiecej to samo co dziś robi Spring Boot.

Zauważ że Spring Boot wystartuje ci to na jakimś embedded tomcacie/jetty, a co jakbyś chciał odpalić aplikacje na WebLogicu czy WebSphere jakimś? Albo czymkolwiek co ma jakąś złożoną konfiguracje?
Spring Boot ma maina, bo startuje sobie z tego maina tomcata który jest dołączony w jarach ze Spring Bootem. Tam nie ma zadnej "magii". Spring boot po prostu przy starcie aplikacji odpala sobie tomcata i startuje na nim twoją aplikacje.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
'Wszystko to bzdury i półprawdy' - moze czas na jakies wakacje? - vpiotr 2019-03-03 12:31

Pozostało 580 znaków

2019-03-03 12:24

Rejestracja: 2 lata temu

Ostatnio: 2 dni temu

0
Shalom napisał(a):

Wszystko to bzdury i półprawdy.
Spring Boot to zestaw standardowych konfiguracji dla Springa, w tym Spring MVC, nic więcej.
Czy trzeba w Spring MVC budować wara i czy nie da sie tego startować na embedded kontenerze przez maina? Popełniłem lata temu takie coś: https://github.com/Pharisaeus/SpringScaffoldApplication zero Spring boota a jednak dostajesz runnable jara. Magia? Nie, ten kod robi mniej-wiecej to samo co dziś robi Spring Boot.

W takim razie nie jest powiedziane i narzucone, żeby Spring MVC budował wary? Domyślam się, że jest to po prostu najpopularniejsze rozwiązanie, czyli war i brak maina?

Zauważ że Spring Boot wystartuje ci to na jakimś embedded tomcacie/jetty, a co jakbyś chciał odpalić aplikacje na WebLogicu czy WebSphere jakimś? Albo czymkolwiek co ma jakąś złożoną konfiguracje?
Spring Boot ma maina, bo startuje sobie z tego maina tomcata który jest dołączony w jarach ze Spring Bootem. Tam nie ma zadnej "magii". Spring boot po prostu przy starcie aplikacji odpala sobie tomcata i startuje na nim twoją aplikacje.

Wnioskuję, że klasa Main w SB jest potrzebna by zmienić domyślny kontener webowy i nie tylko?

Pozostało 580 znaków

2019-03-03 12:37
Moderator

Rejestracja: 16 lat temu

Ostatnio: 1 minuta temu

1

W takim razie nie jest powiedziane i narzucone, żeby Spring MVC budował wary? Domyślam się, że jest to po prostu najpopularniejsze rozwiązanie, czyli war i brak maina?

Spring MVC niczego sam nie buduje ;) Niemniej standard webowych aplikacji javowych to przez długi czas był WAR. Main nie miałby tu zupełnie sensu, bo i jaki? Co miałby robić ten main? Webserwer mapuje odpowiednie URLe na odpowiedni Servlet i tyle.

Wnioskuję, że klasa Main w SB jest potrzebna by zmienić domyślny kontener webowy i nie tylko?

Nie ma czegoś takiego jak "domyślny kontener". Main jest tam to po to zeby wystartować aplikacje, a to wymaga uruchomienia jakiegoś serwera web. Spring Boot uruchamia ci zwykle embedded tomcata i na nim odpala twoją javową aplikacje. Boot robi coś podobnego jak w podlinkowanym przeze mnie wyżej kodzie: https://github.com/Pharisaeus[...]ain/java/scaffold/Runner.java


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 1x, ostatnio: Shalom, 2019-03-03 12:38

Pozostało 580 znaków

Odpowiedz

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