Zapis i odczyt plików w Java 7+

newio stream zapis odczyt json dev foundry blog programowanie java spring kursy

Historycznie praca z plikami w Javie nie była niczym przyjemnym – duża ilość kodu związanego z buforami, brak wygodnego API dostępowego do samych plików, już nie wspominając o operacjach na nich. Na szczęście wszystkie te bolączki przestały istnieć, kiedy wprowadzona została Java 7 wraz z pakietem zmian pod egidą NewIO 2. Java 8 wraz ze strumieniami tylko polepszyła dobry stan rzeczy. Jako że post jest pisany w odpowiedzi na życzenie jednego z naszych czytelników, to jako przykład weźmiemy przypadek użycia zaproponowany przez …

Czytaj dalej…Zapis i odczyt plików w Java 7+

Sortowanie kolekcji w Javie

sortowanie kolekcji comparable comparator dev foundry blog programowanie java spring kursy

Podczas pracy z projektami Javowymi często zdarza się sytuacja, w której musimy posortować daną kolekcję według określonego kryterium. Wtedy z pomocą przychodzą nam dwa interfejsy: Comparable oraz Comparator. W tym wpisie omówię kwestię sortowania kolekcji w Javie, wyjaśnię czym różni się sortowanie przy pomocy interfejsu Comparable od sortowania z wykorzystaniem interfejsu Comparator i w jaki sposób z nich korzystać. Pokażę też dwie kolekcje, których działanie opiera się na zachowaniu odpowiedniej kolejności elementów: TreeSet oraz TreeMap. Sortowanie w kolekcjach Kiedy mówimy o sortowaniu danej …

Czytaj dalej…Sortowanie kolekcji w Javie

Multicatch wyjątków w języku Java

exception multicatch dev foundry blog programowanie java spring kursy

W tym wpisie pokażę jak można przechwytywać wiele wyjątków naraz, gdy chcemy je obsługiwać w ten sam sposób. Jest to tak zwany multicatch i jest on dostępny również w Javie, począwszy od wersji 7. Za przykład niech posłuży nam sytuacja, w której dana metoda może rzucić jednym z wielu wyjątków, na przykład: public void businessMethod() throws IOException,  IllegalStateException, BusinessException{ gdzie BusinessException jest zdefiniowany w następujący sposób: public BusinessException() extends IllegalStateException() { public BusinessException(String msg) { super(msg); } } Jeśli chcesz …

Czytaj dalej…Multicatch wyjątków w języku Java

Enum – ograniczenia i możliwości

enum dev foundry blog programowanie java spring kursy

Enum to specyficzna klasa, która w języku Java reprezentuje specjalny typ wyliczeniowy. Pierwszy raz pojawił się w Javie 5 i został wprowadzony, aby umożliwić programistom lepszą reprezentację zbioru stałych wartości. Posiada zarówno wiele ciekawych właściwości, jak i możliwości do rozwoju, co z kolei powoduje, że może stać się bardzo przydatną klasą. Prosta implementacja klasy Enum Zacznijmy od przykładu, który ilustruje najprostsze, a jednocześnie chyba najczęściej spotykane wykorzystanie klasy Enum w codziennej pracy: public enum TicketType { BUG, TASK, SUGGESTION; } …

Czytaj dalej…Enum – ograniczenia i możliwości

Spring Data – @Query

spring data query dev foundry blog programowanie java spring kursy

Jednym z głównych modułów frameworka Spring jest moduł Spring Data, dzięki któremu możemy zminimalizować niemal do zera ilość tak zwanego „boiler-plate” kodu przy tworzeniu znanych z Domain Driven Design repozytoriów. DDD jest podejściem do tworzenia obiektowego modelu naszej aplikacji, natomiast repozytoria są to klasy, które odpowiadają za pobieranie obiektów domenowych z zewnętrznego źródła danych, dodatkowo również tam umieszcza się różnorakie metody odpowiadające za zwracanie obiektów spełniających dane kryteria. Mówiąc jeszcze prościej – repozytoria odpowiadają za obsługę operacji typu CRUD (zestawu …

Czytaj dalej…Spring Data – @Query