Wpis z mikrobloga

Dawno nie pisałem w javie. potrzebna mi pomoc w wyborze technologii. Do planszówki turowej, chciałem backend java - RestAPI do wykonywania ruchów i klienta w electronjs / angular. Jestem początkujący i wolałbym za dużo technologii nie wrzucać, tylko takie które rzeczywiście warto ogarnąć na początku.

REST + ORM
Jaki stack byście proponowali na prosty backend by przy okazji wykorzystać to co na rynku javowym się używa?
Spring MVC z wykorzystaniem WebFlux (endpointy) + Spring Data (to wystarczy do ORM czy trzeba Hibernate?)

DB
Do lokalnego developementu H2 czy Postgresql? Warto od początku mieć Liquidbase czy mogę to spokojnie później wprowadzić?

TEST
JUnit 5 + Mockito dalej na top?

INNE
- Co mi da użycie Spring Boota? Do tej pory robiłem samym mavenem projekty.
- I w samej Javie nie używałem Spring Framework (chodzi o DI), więc jak zmienia się programowanie jak używam DI? Oznaczam klasy jako wstrzykiwalne i zamiast w metodzie main() robić rozpoczynać tworzenie obiektów to wskazuje jakoś którą klase ma utworzyć jako pierwszą i potem IoC tworzy resztę którą potrzebuje?
- Jak tworzyć / Gdzie szukać prostych grafik np. jakbym chciał szachy zrobić (figury, plansza)? Jakie formaty mnie interesują?

#java #naukaprogramowania #programowanie
  • 7
@Lewo: jak nie chcesz się na początek zarzucać to spring boot + spring data styknie.
Chyba ze jesteś ambitny to ratpack/javalin + JOOQ ( ͡° ͜ʖ ͡°)

DB
Liquidbase na razie mozesz i tak olać, jeśli będziesz to rozwijał sam

TEST
tak, ale staraj się mockito nie uzywać

INNE
-Spring boot da Ci szybko w miarę działający projekt. To jest coś innego niż maven
spring boot- zbiór
@krasnoludkolo: tzn ja nie ogarniam DI, myślałem, ze to praktycznie wywala słowo new z projektu.
Ja obecnie widze to tak: serwisy są wstrzykiwalne, natomiast podczas przetwarzania serwisy generują czasem nowe obiekty i zwracają (wtedy używają new). Tylko trochę rozmazuje mi się wtedy wizja "punktu startowego" w main() i mogę przejrzeć co pokolei się tworzy.

mockito - rozumiem, że chodzi o to, ze jak muszę dużo mockować tzn ze dana funkcja/klasa ma
@krasnoludkolo: jakbyś miał chwilę odpisz na ostatni mój koment.

Zastanawiam się czy jak mam Spring Boota i wybiorę mavena to budowanie/odpalanie idzie przez mavena czy jakoś inaczej? czy Spring Boot korzysta wewnętrznie z mavena ale ja w nim nic nie ustalam (np. wersji javy czy coś) tylko odpalam odpowiedni task spring bootowy w mavenie?
@Lewo: maven buduje Ci jara którego potem odpalasz już normalnie. Jest plugin który pozwala Ci po prostu zbudować fat jara

w Spring trzeba było klasę xml z konfiguracją

juz od kilku wersji nie trzeba

Co do mockito to uzywanie go zazwyczaj maskuje problem który jest gdzie indziej
via Wykop Mobilny (Android)
  • 1
@Lewo: spring boot da ci bardzo dużo w tym serwer, nie musisz osobno stawiać tomcata czy wildfly, masz wbudowane.
Nie piszesz zbędnej konfiguracji (ale jak chcesz coś zmienić to wystarczy jedna linijka w properties).
Tworzenie serwisów, kontrolerów dzięki jednej adnotacji.
Co do budowy, to po prostu maven buduje ci jara. Możesz zarówno z konsoli używać build itd, ale środowiska typu inteliiJ to normalnie klikniesz run i działa wszystko.