DevCezz

Programistyczny blog dla Ciebie

spring

Połączenia z dwoma bazami danych w Spring

Zdarza się, że niezbędne jest połączenie się z dwoma bazami danych w ramach jednej aplikacji Spring Boota. Pytanie tylko jak to osiągnąć. Nie jest to tak trudne jakby mogło się wydawać. Postaram się przybliżyć Ci ten proces w dzisiejszym artykule….

Czym jest HikariCP?

Na pewno nie raz się spotkałeś albo spotkałaś z nazwą HikariCP przy uruchamianiu swojego projektu opartego o Spring Boota. Widnieje ona w logach podczas uruchamiania aplikacji. Ale czy zastanawiałaś bądź zastanawiałeś się czym to narzędzie właściwie jest? Żeby się tego…

Przemyślenia na temat stosowania wzorca fasady

Wzorce projektowe są rozwiązaniem problemów, które napotykali programiści przez kilkadziesiąt lat istnienia branży IT. Warto się z nimi zapoznać, aby mieć wspólną podstawę do rozmów z kolegami po fachu. Pierwszym krokiem wtajemniczenia do ich poznania według modelu braci Dreyfus jest…

NonNull i NotNull – jakie są różnice?

Na pewno każdy z nas spotkał się z takimi adnotacjami jak @NotNull czy @NonNull. W teorii mają one zabezpieczyć nas przed tym, aby dana wartość nie mogła przyjąć owianej złą sławą wartości null. Jednak w praktyce bywa z tym różnie….

Optimistic Locking – zbyt wiele danych w jednej encji

Załóżmy, że zaprojektowaliśmy aplikację do umieszczania postów z możliwością ich komentowania. Oczywiście naszym wybranym stackiem technologicznym jest Spring oraz Hibernate. Na początku aplikacja cieszyła się bardzo małą popularnością, jednak w pewnym momencie zaliczyła znaczny wzrost liczby użytkowników. Niestety wraz z…

@Transactional a propagacja transakcji

W dzisiejszych czasach duża liczba firm zatrudniająca deweloperów Java wykorzystuje w swoich szeregach Springa z Hibernate. Ja sam na ten moment pracuję w tych dwóch technologiach i jak każdy napotykam ciekawe problemy z nimi związane. Jeden z nich dotyczył tytułowej…

Maven Failsafe Plugin, czyli uruchamianie testów integracyjnych w Maven

W jednym z poprzednich wpisów poruszyliśmy temat pluginu Surefire służącego do uruchamiania testów jednostkowych w Maven. Dzisiaj natomiast skupimy się na kolejnym rozszerzeniu, a mianowicie na Failsafe. Powodem jego powstania była chęć uruchamiania testów integracyjnych przy wykorzystaniu jednej komendy. Widać…

Adnotacja @Scheduled

Czasami zdarza się taka potrzeba, aby uruchomić, cyklicznie, pewne zadania bez ingerencji użytkownika. Może to być np. przetwarzanie wsadowe, o którym pisałem w jednym z poprzednich wpisów. Z pomocą przychodzi nam, więc adnotacja @Scheduled udostępniona przez framework Springa. Sprawdźmy jak…

BeanPropertyRowMapper, czyli na co uważać

Wraz z rozwojem aplikacji AnimalShelter natrafiam na ciekawe przypadki. Jeden z nich dotyczył klasy BeanPropertyRowMapper służącej do mapowania wiersza bazodanowego do instancji klasy. Błąd wyszedł na jaw dopiero podczas testów integracyjnych. Wiersz, który chciałem wyciągnąć z bazy nie mapował pól…

Budowanie obrazów dockerowych z Mavenem

Budując projekty napisane w Javie pewnie wielu z nas chociaż raz użyło Mavena. Jeśli nie to pokrótce jest to narzędzie, które pozwala na zarządzanie cyklami życia aplikacji takimi jak kompilacja, testowanie, budowanie, pobieranie zależności czy generowanie dokumentacji. Możemy również rozszerzyć…