hibernate.hbm2dll.auto

Czy automatyczne tworzenie bazy przez Hibernate jest dobre?

Hibernate to świetne narzędzie i sprawdza się doskonale w wielu projektach, zwłaszcza tych, które są w dużej mierze oparte o funkcjonalności CRUD. Hibernate ma też wiele ciekawych funkcji, które pomagają deweloperom w codziennej pracy. Jedną z takich funkcji jest automatyczne tworzenie i aktualizacja schematu bazy danych. Funkcja ta może wydawać się bardzo przydatna, ale czy w ogóle powinieneś jej używać?

Czytaj więcej

feign deklaratywny klient http

Feign deklaratywny klient http

Współczesne aplikacje coraz częściej komunikują się ze sobą, coraz częściej korzystają także z różnego rodzaju api udostępnianego publicznie przez różnych dostawców. Najprostszą i chyba najczęściej wykorzystywaną metodą łączenia się z różnymi serwisami poprzez takie api, jest użyciu klienta http. Implementacji różnych klientów jest wiele. Ja dzisiaj opiszę Feigna, klienta deklaratywnego, który pozwala nam zmniejszyć ilość pisanego kodu oraz znacznie ułatwić pracę.
Czytaj więcej

Spring Webflux Reaktywny Spring

Spring Webflux – Reaktywny Spring

Spring Webflux to moduł frameworka Spring, który pozwala korzystać z reaktywnego programowania w Springu. Koncept programowania reaktywnego został spopularyzowany przez ReactiveX.io (Reactive Extension), które wprowadza reaktywne programowanie do wielu języków poprzez biblioteki. Np. poprzez RxJs w Javascripcie, RxJava w języku Java, Rx.NET w C# i wiele innych. Jest to przetwarzanie oparte na zdarzeniach (events). I przeciwnie niż mogłoby się wydawać nie jest to nowa koncepcja.
Czytaj więcej

spring aop

Spring AOP – jak używać?

Programowanie zorientowane aspektowo (z ang. aspect-oriented programming – w springu jest to moduł Spring AOP) to sposób programowania, który pozwala oddzielić pewne fragmenty kodu od siebie, poprawiając dzięki temu modularność tworzonego programu. Można na to spojrzeć tak, że programowanie aspektowe pozwala wprowadzić dodatkową warstwę do kodu, który tworzymy i zwykle ta warstwa jest wyraźnie odseparowana od właściwego kodu.

Czytaj więcej