Maven + Spock 2.X: Konfiguracja projektu od zera

  • Post author:

Rosnąca popularność BDD (Behavior Driven Development) sprawia, że coraz więcej programistów decyduje się zaprzęgnąć do swoich testów Spocka. Jeśli nie miałeś jeszcze okazji zapoznać się z tym frameworkiem testowym, zachęcam aby to zrobić, ponieważ w niektórych aspektach jest dużo lepszy od standardowego JUnit 5. Być może akurat te różnice sprawią, że Spock okaże się idealny dla Twoich potrzeb. W tym artykule skupię się jedynie na aspekcie konfiguracji projektu maven oraz Spock w kilku wariantach - minimalnym, ze niezmodyfikowanymi nazwa klas testowych oraz konfiguracją Spock dla SpringBoot.

Czytaj dalej Maven + Spock 2.X: Konfiguracja projektu od zera

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #8 – Podział monolitu na mikroserwisy

Bohaterem dzisiejszego odcinka jest niewątpliwie CommandBus, to właśnie niemu poświeciliśmy drugą połowę live. Dlaczego w ogóle poruszyliśmy ten temat? Otóż po konfiguracji infrastruktury okazało się, że mamy cykliczne zależności między beanami, z którymi w jakiś sposób musieliśmy sobie poradzić i w tym celu wybraliśmy właśnie CommandBus.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #8 – Podział monolitu na mikroserwisy

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #7

Bohaterem dzisiejszego odcinka jest niewątpliwie CommandBus, to właśnie niemu poświeciliśmy drugą połowę live. Dlaczego w ogóle poruszyliśmy ten temat? Otóż po konfiguracji infrastruktury okazało się, że mamy cykliczne zależności między beanami, z którymi w jakiś sposób musieliśmy sobie poradzić i w tym celu wybraliśmy właśnie CommandBus.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #7

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #5

W piątej części przechodzimy przed tworzenie dwóch dodatkowych domen oraz omawiamy zależności między nimi. Jak na dłoni widać, że dodawanie kolejnych domen jest bardzo schematyczne. Następnie zmieniamy nieco podejście i rozpoczynamy od napisania testu, który niemal natychmiast ukazuje luki w serwowanych usługach. Gdy już uporaliśmy się z brakującymi usługami doszliśmy do odpowiedzi, dlaczego IOC w tym Spring oraz jego szyna eventów są zbawienne podczas implementacji aplikacji w architekturze hexagonalnej. W kolejnym streamie zgłębimy ten wątek.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #5

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #4

Zapraszam na czwartą część live dotyczącego architektury heksagonalnej. Tym razem wprowadziłem pojęcie serwisu domenowego wystawionego jako @Service Spring. Wykorzystałem wzorzec dekoratora/delegatora aby w łatwy i spójny sposób eksponować usługi domenowe w infrastrukturze.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #4

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #3

Zapraszam na trzecią część live dotyczącego architektury heksagonalnej. To wejście poświęciłem usystematyzowaniu założeń wykonując refraktor napisanego wcześniej kodu domeny na bardziej czytelny i zgodny odpowiedzialnościami poszczególnych elementów domeny. Pod koniec omawiam umiejscowienie Spring framework w architekturze heksagonalnej oraz pokazuję w jaki sposób podłączyć Spring Boot do projektu.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #3

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #2

Zapraszam na drugą część live dotyczącego architektury heksagonalnej. W tym wejściu podłączamy dwa frameworki ułatwiające tworzenie kodu. Mam na myśli Lombok oraz Mapstruct. Następnie dokończymy implementację pierwszej domeny, po to, aby na koniec ją przetestować prostym testem JUnit5.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #2

Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #1

Zapraszam do obejrzenia pierwsze części w której przedstawiam tytułowe zagadnienie oraz rozpoczynam implementację pierwszej z trzech domen wprowadzając krok po kroku niezbędne pojęcia. W kolejnej części dokończymy implementację poniższej domeny wykorzystując dodatkowe frameworki: Mapstruct oraz Lombok.

Czytaj dalej Architektura Heksagonalna – Live z pisania przykładu w Java & Spring #1