Konwersja między listą a zestawem w Javie

Konwersja między listą a zestawem w Javie

1. Przegląd W tym krótkim artykule przyjrzymy się konwersji między Listą a Zbiorem - zaczynając od zwykłej Javy, używając Guava i biblioteki Apache Commons Kolekcje, a na końcu z Javą 10. Ten artykuł jest częścią serii „Java - Back to Basic” tutaj w Baeldung. 2. Konwertuj listę na zestaw 2.1. Z prostą Javą Za

Czytaj więcej

   Pytania do wywiadu Spring MVC

Pytania do wywiadu Spring MVC

1. Wstęp Spring MVC to oryginalny framework sieciowy firmy Spring oparty na Servlet API. Zapewnia architekturę Model-View-Controller, której można używać do tworzenia elastycznych aplikacji internetowych. W tym samouczku skupimy się na pytaniach z tym związanych, ponieważ często jest to temat na wiosennej rozmowie kwalifikacyjnej programisty. Więcej p

Czytaj więcej

   Filtr strumienia Java z wyrażeniem Lambda

Filtr strumienia Java z wyrażeniem Lambda

1. Wstęp W tym krótkim samouczku omówimy użycie metody Stream.filter () podczas pracy ze strumieniami w Javie. Przyjrzymy się, jak go używać i jak radzić sobie ze specjalnymi przypadkami z zaznaczonymi wyjątkami. 2. Używanie Stream.filter () Metoda filter () to pośrednia operacja interfejsu Stream , która pozwala nam filtrować elementy strumienia pasującego do danego Predykatu: Stream filter(Predicate predicate) Aby zobaczyć, jak to działa, utwórzmy klasę Customer : public class Customer { private String name; private int points; //Constructor and standard getters } Dodatkowo stwórzmy zb

Czytaj więcej

   Java InputStream na String

Java InputStream na String

1. Przegląd W tym samouczku przyjrzymy się, jak przekonwertować InputStream na String , używając Guava, biblioteki Apache Commons IO i zwykłej Javy. Ten artykuł jest częścią serii „Java - Back to Basic” tutaj w Baeldung. 2. Konwersja z guawą Zacznijmy od przykładu Guava - wykorzystującego funkcjonalność ByteSource : @Test public void givenUsingGuava_whenConvertingAnInputStreamToAString_thenCorrect() throws IOException { String originalString = randomAlphabetic(8); InputStream inputStream = new ByteArrayInputStream(originalString.getBytes()); ByteSo

Czytaj więcej

   Sortuj HashMap w Javie

Sortuj HashMap w Javie

1. Wstęp Z tego krótkiego samouczka dowiemy się, jak sortować HashMap w Javie . Dokładniej, przyjrzymy się sortowaniu wpisów HashMap według ich klucza lub wartości przy użyciu: TreeMap ArrayList i Collections.sort () TreeSet Korzystanie z Stream API , i wreszcie, Korzystanie z biblioteki Guava 2. Korzystan

Czytaj więcej

   Przewodnik po JAXB

Przewodnik po JAXB

1. Wstęp To jest artykuł wprowadzający do JAXB (Java Architecture for XML Binding). Najpierw pokażemy, jak konwertować obiekty Java do XML i odwrotnie, a następnie skupimy się na generowaniu klas Java ze schematu XML i odwrotnie za pomocą wtyczki JAXB-2 Maven. 2. Przegląd JAXB zapewnia szybki i wygodny sposób organizowania (zapisywania) obiektów Java do formatu XML i cofania (odczytu) XML do obiektów. Obsługuje s

Czytaj więcej

   Przewodnik po Java HashMap

Przewodnik po Java HashMap

1. Przegląd W tym artykule zobaczymy, jak używać HashMap w Javie i przyjrzymy się, jak to działa wewnętrznie. Klasą bardzo podobną do HashMap jest Hashtable . Zapoznaj się z kilkoma naszymi innymi artykułami, aby dowiedzieć się więcej o samej klasie java.util.Hashtable i różnicach między HashMap i Hashtable . 2. Podstawowe

Czytaj więcej

   Konwertuj tablicę znaków na ciąg w języku Java

Konwertuj tablicę znaków na ciąg w języku Java

1. Przegląd W tym krótkim samouczku omówimy różne sposoby konwertowania tablicy znaków na ciąg znaków w Javie. 2. Konstruktor łańcuchów Ciąg klasa ma konstruktor akceptuje char tablicy jako argumentu @Test public void whenStringConstructor_thenOK() { final char[] charArray = { 'b', 'a', 'e', 'l', 'd', 'u', 'n', 'g' }; String string = new String(charArray); assertThat(string, is("baeldung")); } Jest to jeden z najłatwiejszych sposobów konwersji tablicy znaków na String . Wewnętrznie wy

Czytaj więcej

   Kodowanie i dekodowanie Java Base64

Kodowanie i dekodowanie Java Base64

1. Przegląd W tym samouczku omówimy różne narzędzia, które zapewniają funkcje kodowania i dekodowania Base64 w Javie. Zamierzamy głównie zilustrować nowe interfejsy API Java 8 oraz interfejsy API narzędziowe, które pojawią się na platformie Apache Commons. 2. Java 8 dla Base 64 Java 8 w końcu dodała możliwości Base64 do standardowego interfejsu API. Odbywa się to za

Czytaj więcej

   Przewodnik po wyliczeniach Java

Przewodnik po wyliczeniach Java

1. Przegląd W tym artykule zobaczymy, czym są wyliczenia Java, jakie problemy rozwiązują i jak niektóre wzorce projektowe mogą być wykorzystane w praktyce. Enum Hasło zostało wprowadzone w Javie 5. To oznacza specjalny rodzaj klasy, która zawsze rozszerza java.lang.Enum klasę. Aby uzyskać oficjalną dokumentację dotyczącą ich użycia, zapoznaj się z dokumentacją. Stałe zdefiniowan

Czytaj więcej

   Metoda Thread.join () w Javie

Metoda Thread.join () w Javie

1. Przegląd W tym samouczku omówimy różne metody join () w klasie Thread . Przejdziemy do szczegółów tych metod i przykładowego kodu. Podobnie jak metody wait () i notify () , join () to kolejny mechanizm synchronizacji między wątkami. Możesz rzucić okiem na ten samouczek, aby dowiedzieć się więcej o wait () i notify () . 2. Thread.joi

Czytaj więcej

   Sortowanie przez wstawianie w Javie

Sortowanie przez wstawianie w Javie

1. Przegląd W tym samouczku omówimy algorytm sortowania przez wstawianie i przyjrzymy się jego implementacji w Javie . Sortowanie przez wstawianie to wydajny algorytm zamawiania niewielkiej liczby elementów. Ta metoda jest oparta na sposobie, w jaki gracze w karty sortują układ kart do gry. Zaczynamy z pustą lewą ręką i kartami ułożonymi na stole. Następnie w

Czytaj więcej

   Spring RequestMapping

Spring RequestMapping

1. Przegląd W tym samouczku skupimy się na jednej z głównych adnotacji w Spring MVC: @RequestMapping. Mówiąc najprościej, adnotacja jest używana do mapowania żądań internetowych na metody Spring Controller. 2. Podstawy @ RequestMapping Zacznijmy od prostego przykładu: mapowanie żądania HTTP na metodę przy użyciu podstawowych kryteriów. 2.1. @RequestMa

Czytaj więcej

   Unikanie ConcurrentModificationException w Javie

Unikanie ConcurrentModificationException w Javie

1. Wstęp W tym artykule przyjrzymy się klasie ConcurrentModificationException . Najpierw wyjaśnimy, jak to działa, a następnie udowodnimy, używając testu do jego uruchomienia. Na koniec wypróbujemy kilka obejść, korzystając z praktycznych przykładów. 2. Wyzwalanie wyjątku ConcurrentModificationException Zasadniczo ConcurrentModificationException jest używany do szybkiej awarii, gdy coś, na czym iterujemy, zostanie zmodyfikowane. Udowodnijmy to

Czytaj więcej

   Nowe funkcje Java 9

Nowe funkcje Java 9

1. Przegląd Java 9 zawiera bogaty zestaw funkcji. Chociaż nie ma nowych koncepcji językowych, nowe interfejsy API i polecenia diagnostyczne z pewnością będą interesujące dla programistów. W tym artykule omówimy kilka nowych funkcji z wysokiego poziomu; pełna lista nowych funkcji jest dostępna tutaj. 2. System

Czytaj więcej

   Metoda toString () języka Java

Metoda toString () języka Java

1. Przegląd Każda klasa w Javie jest bezpośrednio lub pośrednio dzieckiem klasy Object . A ponieważ klasa Object zawiera metodę toString () , możemy wywołać toString () w dowolnej instancji i uzyskać jej reprezentację w postaci ciągu. W tym samouczku przyjrzymy się domyślnemu zachowaniu metody toString () i dowiemy się, jak zmienić jej zachowanie. 2. Zachowanie

Czytaj więcej

   Inicjalizacja listy Java w jednej linii

Inicjalizacja listy Java w jednej linii

1. Wstęp W tym krótkim samouczku zbadamy, jak możemy zainicjować Listę przy użyciu jednowierszowych. 2. Utwórz z tablicy Z tablicy możemy stworzyć Listę i dzięki literałom tablicowym możemy zainicjalizować je w jednej linii: List list = Arrays.asList(new String[]{"foo", "bar"}); Możemy zaufać mechanizmowi varargs do obsługi tworzenia tablicy. Dzięki temu może

Czytaj więcej

   Konstruktor kopii Java

Konstruktor kopii Java

1. Wstęp Konstruktor kopiujący w klasie Java to konstruktor, który tworzy obiekt przy użyciu innego obiektu tej samej klasy Java . Jest to przydatne, gdy chcemy skopiować złożony obiekt, który ma kilka pól lub gdy chcemy wykonać głęboką kopię istniejącego obiektu. 2. Jak utworzyć konstruktor kopiowania Aby utworzyć konstruktor kopiujący, możemy najpierw zadeklarować konstruktor, który jako parametr przyjmuje obiekt tego samego typu: public class Employee { private int id; private String name; public Employee(Employee employee) { } } Następnie kopiujemy każde pole obiektu wejściowego do now

Czytaj więcej

   Pytania do wywiadu dotyczącego kolekcji Java

Pytania do wywiadu dotyczącego kolekcji Java

Ten artykuł jest częścią serii: • Pytania do wywiadów dotyczących kolekcji Java (bieżący artykuł) • Pytania do wywiadów dotyczących systemów typów Java • Pytania do wywiadu dotyczącego współbieżności języka Java (+ odpowiedzi) • Pytania dotyczące struktury klas Java i inicjalizacji • Pytania do wywiadu dotyczące Java 8 (+ odpowiedzi) • Zarządzanie pamięcią w pytaniach do wywiadów Java (+ odpowiedzi) • Pytania do wywiadu dotyczącego generycznych programów Java (+ odpowiedzi) • Pytania do wywiadu Java Flow Control (+ odpowiedzi) • Pytania do wywiadu dotyczącego wyjątków Java (+ odpowiedzi

Czytaj więcej

   Konwertuj String na int lub Integer w Javie

Konwertuj String na int lub Integer w Javie

1. Wstęp Konwersja string na int lub Integer jest bardzo częstym praca w Javie. W tym artykule pokażemy różne sposoby radzenia sobie z tym problemem. Istnieje kilka prostych sposobów radzenia sobie z tą podstawową konwersją. 2. Integer.parseInt () Jednym z głównych rozwiązań jest użycie dedykowanej metody statycznej Integer : parseInt () , która zwraca pierwotną wartość int : @Test public void givenString_whenParsingInt_shouldConvertToInt() { String givenString = "42"; int result = Integer.parseInt(givenStri

Czytaj więcej

   Przewodnik po java.util.Formatter

Przewodnik po java.util.Formatter

1. Przegląd W tym artykule omówimy formatowanie ciągów znaków w Javie przy użyciu klasy java.util.Formatter , która zapewnia obsługę wyrównania i wyrównania układu. 2. Jak korzystać z narzędzia formatującego Pamiętasz printf C ? Formatowanie ciągu znaków w Javie jest bardzo podobne. Metoda format ()

Czytaj więcej

   Wzorzec obserwatora w Javie

Wzorzec obserwatora w Javie

1. Przegląd W tym artykule opiszemy wzorzec Observer i przyjrzymy się kilku alternatywom implementacji języka Java. 2. Jaki jest wzorzec obserwatora? Obserwator to behawioralny wzorzec projektowy. Określa komunikację między obiektami: obserwowalnymi i obserwatorami . Obserwowalne jest obiektem, który powiadamia obserwatorów o zmianach w swoim stanie. Na prz

Czytaj więcej

   Dlaczego ciąg znaków jest niezmienny w Javie?

Dlaczego ciąg znaków jest niezmienny w Javie?

1. Wstęp W Javie ciągi znaków są niezmienne. Oczywistym pytaniem, które jest dość powszechne w wywiadach, jest „Dlaczego ciągi znaków są zaprojektowane jako niezmienne w Javie?” James Gosling, twórca Javy, został kiedyś zapytany w wywiadzie, kiedy należy używać niezmiennych, na co odpowiada: Używałbym niezmiennego, kiedy tylko mogę. Ponadto popiera swoją

Czytaj więcej

   Wiosna JDBC

Wiosna JDBC

1. Przegląd W tym artykule omówimy praktyczne przypadki użycia modułu Spring JDBC. Wszystkie zajęcia w Spring JDBC są podzielone na cztery oddzielne pakiety: core - podstawowa funkcjonalność JDBC. Niektóre z ważnych klas ramach tego pakietu obejmują JdbcTemplate , SimpleJdbcInsert, SimpleJdbcCall i NamedParameterJdbcTemplate . datasourc

Czytaj więcej

   Array to String Conversions

Array to String Conversions

1. Przegląd W tym krótkim samouczku przyjrzymy się konwersji tablicy ciągów lub liczb całkowitych na ciąg znaków iz powrotem. Możemy to osiągnąć dzięki klasycznym klasom narzędziowym Java i Java z powszechnie używanych bibliotek. 2. Konwertuj Array na String Czasami musimy przekonwertować tablicę ciągów lub liczb całkowitych na ciąg znaków, ale niestety nie ma bezpośredniej metody wykonania tej konwersji. Domyślna implementacj

Czytaj więcej

   REST z samouczkiem Spring

REST z samouczkiem Spring

REST Top Właśnie ogłosiłem nowy kurs Learn Spring , skupiający się na podstawach Spring 5 i Spring Boot 2: >> SPRAWDŹ KURS Tworzenie REST API nie jest trywialnym zadaniem - od ograniczeń wysokiego poziomu RESTful po drobiazgi sprawienia, by wszystko działało i działało dobrze. Wiosna sprawiła, że ​​REST stał się obywatelem pierwszej kategorii, a platforma dojrzewa w zawrotnym tempie. Wraz z wydaniem Spr

Czytaj więcej

   Samouczek Mockito

Samouczek Mockito

Ta seria samouczków koncentruje się na bibliotece Mockito - od podstawowych do bardziej zaawansowanych przypadków użycia, a także na integracji z innymi przydatnymi bibliotekami testowymi, takimi jak JUnit. Podstawy Mockito Pierwsze kroki z Mockito @Mock, @Spy, @Captor i @InjectMocks (popularne) Krótki przewodnik po BDDMockito Mockito's Mock Methods Mockito ArgumentMatchers Mocking Exception rzucanie za pomocą Mockito (popularne) Funkcje Java 8 Mockito Książka kucharska Mockito When / Then (popularna) Mockito Verify Cookbook (popularne) Mockito Advanced Mocking Void Meth

Czytaj więcej

   Ustaw JAVA_HOME na Windows 7, 8, 10, Mac OS X, Linux

Ustaw JAVA_HOME na Windows 7, 8, 10, Mac OS X, Linux

1. Przegląd W tym krótkim artykule przyjrzymy się, jak ustawić zmienną JAVA_HOME w systemach Windows, Mac OS X i Linux. 2. Windows 2.1. Windows 10 i 8 Otwórz Szukaj i wpisz zaawansowane ustawienia systemu W wyświetlonych opcjach wybierz łącze Wyświetl zaawansowane ustawienia systemu Na karcie Zaawansowane kliknij opcję Zmienne środowiskowe W sekcji Zmienne systemowe kliknij opcję Nowa (lub Zmienne użytkownika w przypadku ustawienia pojedynczego użytkownika) Ustaw JAVA_HOME jako nazwę zmiennej i ścieżkę do instalacji JDK jako wartość zmiennej i kliknij OK Kliknij OK i kliknij Zastosuj,

Czytaj więcej

   Zainicjuj HashMap w Javie

Zainicjuj HashMap w Javie

1. Przegląd W tym samouczku nauczymy się różnych sposobów inicjowania HashMap w Javie. Użyjemy Java 8, a także Java 9. 2. Statyczny inicjator statycznej mapy skrótów Możemy zainicjować HashMap używając statycznego bloku kodu: public static Map articleMapOne; static { articleMapOne = new HashMap(); articleMapOne.put("ar01", "

Czytaj więcej

   Bezpieczeństwo dzięki Spring

Bezpieczeństwo dzięki Spring

Bezpieczeństwa z wiosny tutoriale ostrość, jak można się spodziewać, na wiosennym Security. Rozpocznij od serii Rejestracja, jeśli chcesz zbudować przepływ rejestracji i poznać niektóre podstawy frameworków. Następnie szczegółowo zapoznaj się z uwierzytelnianiem i innymi wewnętrznymi mechanizmami Spring Security. Na koniec zapoz

Czytaj więcej

   Różnica między map () a flatMap ()

Różnica między map () a flatMap ()

1. Przegląd map () i flatMap () wywodzą się z języków funkcjonalnych. W Javie 8 można je znaleźć w Optional, Stream i CompletableFuture (chociaż pod nieco inną nazwą). Strumienie reprezentują sekwencję obiektów, podczas gdy opcje opcjonalne to klasy reprezentujące wartość, która może być obecna lub nieobecna. Wśród innych operac

Czytaj więcej

   Wprowadzenie do Spring Data JPA

Wprowadzenie do Spring Data JPA

1. Przegląd W tym artykule skupimy się na wprowadzeniu Spring Data JPA do projektu Spring i pełnej konfiguracji warstwy trwałości. Aby zapoznać się z wprowadzeniem krok po kroku na temat konfigurowania kontekstu Spring przy użyciu konfiguracji opartej na języku Java i podstawowego pom Mavena dla projektu, zobacz ten artykuł. 2. DAO g

Czytaj więcej

   Samouczek Jackson JSON

Samouczek Jackson JSON

Ten samouczek ilustruje najczęstsze zadania, problemy i rozwiązania Jackson 2 podczas krosowania i usuwania kodu JSON. Podstawowe Jackson Marshalling Przykłady adnotacji Jacksona (popularne) Wprowadzenie do Jackson ObjectMapper (popularne) Jackson Ignore Properties on Marshalling Zignoruj ​​Null Fields z Jacksonem Jackson - Zmień nazwę pola Serializacja i deserializacja XML z Jacksonem Jackson - ciąg Marshalla do JsonNode Korzystanie z opcji Opcjonalne z Jacksonem Podstawowe Unmarshalling Jacksona Jackson - Unmarshalling JSON z nieznanymi właściwościami Jackson kontra Gso

Czytaj więcej

   Wprowadzenie do Spring AOP

Wprowadzenie do Spring AOP

1. Wstęp W tym samouczku wprowadzimy AOP (programowanie zorientowane na aspekty) w Spring i zaczniemy rozumieć, w jaki sposób możemy zacząć używać tego potężnego narzędzia w praktycznych scenariuszach. Możliwe jest również wykorzystanie adnotacji AspectJ podczas programowania przy użyciu Spring AOP, ale w tym artykule skupiamy się na podstawowej konfiguracji Spring AOP opartej na XML. 2. Przegląd A

Czytaj więcej

   Przewodnik po System.exit ()

Przewodnik po System.exit ()

1. Przegląd W tym samouczku przyjrzymy się, co oznacza System.exit w Javie. Zobaczymy, do czego służy, gdzie i jak z niego korzystać. Zobaczymy również, jaka jest różnica w wywoływaniu go z różnymi kodami stanu. 2. Co to jest System.exit ? System.exit jest metodą void . Pobiera kod zakończenia, który przekazuje do skryptu lub programu wywołującego. Wyjście z kodem

Czytaj więcej

   Przewodnik po Google Guice

Przewodnik po Google Guice

1. Wstęp W tym artykule omówimy podstawy Google Guice . Przyjrzymy się podejściom do wykonywania podstawowych zadań Dependency Injection (DI) w Guice. Porównamy również podejście Guice do bardziej ugruntowanych frameworków DI, takich jak Spring i Contexts and Dependency Injection (CDI). Ten artykuł zakłada, że ​​czytelnik rozumie podstawy wzorca Dependency Injection. 2. Konfiguracja

Czytaj więcej

   Przewodnik po UUID w Javie

Przewodnik po UUID w Javie

1. Przegląd UUID (Universally Unique Identifier), znany również jako GUID (Globally Unique Identifier), reprezentuje 128-bitową wartość, która jest unikalna dla wszystkich praktycznych celów . Standardowa reprezentacja UUID wykorzystuje cyfry szesnastkowe (oktety): 123e4567-e89b-12d3-a456-556642440000 Identyfikator UUID składa się z cyfr szesnastkowych (po 4 znaki każdy) oraz 4 symboli „-”, co daje jego długość równą 36 znakom . Nil UUID to specja

Czytaj więcej

   Błąd kompilatora Java: niedozwolony początek wyrażenia

Błąd kompilatora Java: niedozwolony początek wyrażenia

1. Przegląd „Niedozwolony początek wyrażenia” jest częstym błędem, z którym możemy się spotkać podczas kompilacji. W tym samouczku zobaczymy przykłady ilustrujące główne przyczyny tego błędu i sposoby jego naprawy. 2. Brakujące nawiasy klamrowe Brak nawiasów klamrowych może prowadzić do błędu „niedozwolonego początku wyrażenia”. Najpierw spójrzmy na przykład:

Czytaj więcej

   Błąd kompilatora Java: „oczekiwano klasy, interfejsu lub wyliczenia”

Błąd kompilatora Java: „oczekiwano klasy, interfejsu lub wyliczenia”

1. Przegląd W tym krótkim samouczku omówimy błąd kompilatora Java „oczekiwana klasa, interfejs lub wyliczenie”. Ten błąd napotykają głównie programiści, którzy są nowicjuszami w świecie Java. Przeanalizujmy kilka przykładów tego błędu i omówmy, jak je naprawić. 2. Zagubione klamry kręcone Główną przyczyną błędu „oczekiwana klasa, interfejs lub wyliczenie” jest zwykle niewłaściwie umieszczony nawias klamrowy „}” . Może to być dodatkowy nawias klamrowy po

Czytaj więcej

   Przewodnik po TreeMap w Javie

Przewodnik po TreeMap w Javie

1. Przegląd W tym artykule zajmiemy się implementacją TreeMap interfejsu Map z Java Collections Framework (JCF). TreeMap to implementacja mapy, która utrzymuje swoje wpisy posortowane zgodnie z naturalną kolejnością kluczy lub, jeszcze lepiej, przy użyciu komparatora, jeśli jest dostarczony przez użytkownika w czasie tworzenia. Wcześnie

Czytaj więcej

   Co to jest wiosenna fasolka?

Co to jest wiosenna fasolka?

1. Przegląd Fasola jest kluczową koncepcją Spring Framework. W związku z tym zrozumienie tego pojęcia jest kluczowe, aby zrozumieć ramy i używać ich w efektywny sposób. Niestety nie ma jasnych odpowiedzi na proste pytanie - czym naprawdę jest wiosenna fasola. Niektóre wyjaśnienia schodzą na tak niski poziom, że brakuje pełnego obrazu, podczas gdy niektóre są zbyt niejasne. W tym samouczku

Czytaj więcej

   NaN w Javie

NaN w Javie

1. Przegląd Mówiąc najprościej, NaN jest liczbową wartością typu danych, która oznacza „nie jest liczbą”. W tym krótkim samouczku wyjaśnimy wartość NaN w Javie i różne operacje, które mogą wytworzyć lub zaangażować tę wartość. 2. Co to jest NaN ? NaN zwykle wskazuje wynik nieprawidłowych operacji. Na przykład próba podzielen

Czytaj więcej

   Profile sprężynowe

Profile sprężynowe

1. Przegląd W tym samouczku skupimy się na wprowadzeniu profili na wiosnę. Profile są podstawową cechą frameworka - pozwalając nam mapować nasze ziarna do różnych profili - na przykład dev , test i prod . Następnie możemy aktywować różne profile w różnych środowiskach, aby załadować tylko te komponenty bean, których potrzebujemy. 2. Użyj @Profile na

Czytaj więcej

   Jak wdrożyć plik WAR na Tomcat

Jak wdrożyć plik WAR na Tomcat

1. Przegląd Apache Tomcat to jeden z najpopularniejszych serwerów internetowych w społeczności Java. Jest dostarczany jako kontener serwletów, który może obsługiwać archiwum WWW z rozszerzeniem WAR. Udostępnia pulpit nawigacyjny zarządzania, z którego można wdrożyć nową aplikację internetową lub cofnąć wdrożenie istniejącej bez konieczności ponownego uruchamiania kontenera. Jest to szczególnie pr

Czytaj więcej

   Wprowadzenie do RxJava

Wprowadzenie do RxJava

1. Przegląd W tym artykule skupimy się na używaniu Reactive Extensions (Rx) w Javie do tworzenia i wykorzystywania sekwencji danych. Na pierwszy rzut oka interfejs API może wyglądać podobnie do strumieni Java 8, ale w rzeczywistości jest znacznie bardziej elastyczny i płynny, co czyni go potężnym paradygmatem programowania. Jeśli ch

Czytaj więcej

   Ostrzeżenie SLF4J: Ścieżka klasy zawiera wiele powiązań SLF4J

Ostrzeżenie SLF4J: Ścieżka klasy zawiera wiele powiązań SLF4J

1. Przegląd Kiedy używamy SLF4J w naszych aplikacjach, czasami widzimy komunikat ostrzegawczy o wielu powiązaniach w ścieżce klas drukowanej na konsoli. W tym samouczku postaramy się zrozumieć, dlaczego widzimy ten komunikat i jak go rozwiązać. 2. Zrozumienie ostrzeżenia Najpierw spójrzmy na przykładowe ostrzeżenie: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found

Czytaj więcej

   Java - wypróbuj zasoby

Java - wypróbuj zasoby

1. Przegląd Wsparcie dla try-with-resources - wprowadzone w Javie 7 - pozwala nam zadeklarować zasoby do użycia w bloku try z gwarancją, że zasoby zostaną zamknięte po wykonaniu tego bloku. Zadeklarowane zasoby muszą implementować interfejs AutoCloseable . 2. Korzystanie z zasobów typu try-with-resources Mówiąc najprościej, aby został automatycznie zamknięty, zasób musi być zarówno zadeklarowany, jak i zainicjowany podczas próby , jak pokazano poniżej: try (PrintWriter writer = new PrintWriter(new File("test.txt"))) { writer.pri

Czytaj więcej

   Wprowadzenie do pul wątków w Javie

Wprowadzenie do pul wątków w Javie

1. Wstęp W tym artykule omówiono pule wątków w Javie - zaczynając od różnych implementacji w standardowej bibliotece Java, a następnie przyglądając się bibliotece Guava firmy Google. 2. Pula wątków W Javie wątki są mapowane na wątki na poziomie systemu, które są zasobami systemu operacyjnego. Jeśli tworzysz wą

Czytaj więcej

   Przewodnik po Iteratorze w Javie

Przewodnik po Iteratorze w Javie

1. Wstęp Iterator jest jednym z wielu sposobów, możemy przemierzają kolekcji, jak i każdej opcji, to ma swoje wady i zalety. Został po raz pierwszy wprowadzony w Javie 1.2 jako zamiennik Enumerations i: wprowadzono ulepszone nazwy metod umożliwiło usuwanie elementów z kolekcji, nad którą pracujemy nie gwarantuje kolejności iteracji W tym samouczku przyjrzymy się prostemu interfejsowi Iteratora , aby dowiedzieć się, jak możemy używać różnych metod. Sprawdzimy również

Czytaj więcej

   Logowanie się w Spring Boot

Logowanie się w Spring Boot

1. Przegląd W tym krótkim samouczku zbadamy główne opcje logowania dostępne w Spring Boot. Bardziej szczegółowe informacje na temat Logback są dostępne w A Guide to Logback, natomiast Log4j2 został wprowadzony w Intro to Log4j2 - Appenders, Layouts and Filters. 2. Konfiguracja wstępna Najpierw utwórzmy moduł Spring Boot. Zalecanym sp

Czytaj więcej

   Instrukcja przełącznika Java

Instrukcja przełącznika Java

1. Przegląd W tym samouczku dowiemy się, czym jest instrukcja switch i jak jej używać. Instrukcja switch pozwala nam zastąpić kilka zagnieżdżonych konstrukcji if-else i tym samym poprawić czytelność naszego kodu. Przełącznik ewoluował z biegiem czasu - dodano nowe obsługiwane typy, szczególnie w Javie 5 i 7. Ponadto nadal e

Czytaj więcej

   Adnotacje Spring Boot

Adnotacje Spring Boot

Ten artykuł jest częścią serii: • Spring Core Adnotations • Wiosenne adnotacje internetowe • Adnotacje Spring Boot (bieżący artykuł) • Spring Scheduling Adnotations • Adnotacje danych Spring • Adnotacje wiosenne 1. Przegląd Spring Boot ułatwił konfigurację Springa dzięki funkcji automatycznej konfiguracji. W tym krótkim samouczk

Czytaj więcej

   Spring ApplicationContext

Spring ApplicationContext

1. Przegląd W tym samouczku szczegółowo przyjrzymy się interfejsowi Spring ApplicationConext . 2. Interfejs ApplicationContext Jedną z głównych cech frameworka Spring jest kontener IoC (Inversion of Control). Kontener Spring IoC jest odpowiedzialny za zarządzanie obiektami aplikacji. Wykorzystuje iniekcję zależności w celu uzyskania odwrócenia kontroli. Interfejsy

Czytaj więcej

   @Component vs @Repository i @Service na wiosnę

@Component vs @Repository i @Service na wiosnę

1. Wstęp W tym krótkim samouczku dowiemy się o różnicach między adnotacjami @Component, @Repository i @Service w Spring Framework. 2. Adnotacje wiosenne W większości typowych aplikacji mamy odrębne warstwy, takie jak dostęp do danych, prezentacja, usługi, biznes itp. W każdej warstwie mamy różne ziarna. Mówiąc najpro

Czytaj więcej

   Argumenty wiersza polecenia w języku Java

Argumenty wiersza polecenia w języku Java

1. Wstęp Dość często uruchamia się aplikacje z wiersza poleceń przy użyciu argumentów. Zwłaszcza po stronie serwera. Zwykle nie chcemy, aby aplikacja robiła to samo przy każdym uruchomieniu: chcemy w jakiś sposób skonfigurować jej zachowanie. W tym krótkim samouczku dowiemy się, jak możemy obsługiwać argumenty wiersza poleceń w Javie. 2. Dostęp do argum

Czytaj więcej

   Tworzenie żądania POST JSON z HttpURLConnection

Tworzenie żądania POST JSON z HttpURLConnection

1. Przegląd W tym samouczku pokażemy, jak wykonać żądanie JSON POST przy użyciu HttpURLConnection . 2. Tworzenie żądania POST JSON z HttpURLConnection 2.1. Utwórz obiekt adresu URL Utwórzmy obiekt URL z docelowym ciągiem URI, który akceptuje dane JSON za pośrednictwem metody POST HTTP: URL url = new URL ("//reqres.in/api/users"

Czytaj więcej

   Wprowadzenie do Java ArrayDeque

Wprowadzenie do Java ArrayDeque

1. Przegląd W tym samouczku pokażemy, jak używać klasy ArrayDeque w Javie - która jest implementacją interfejsu Deque . ArrayDeque (znany również jako „Array dwustronna kolejki”, wymawiane jako „ArrayDeck”) jest specjalnym rodzajem growable tablicy, która pozwala nam dodać lub usunąć element z obu stron. ArrayDeque realiza

Czytaj więcej

   Podsumowanie liczb ze strumieniami Java

Podsumowanie liczb ze strumieniami Java

1. Wstęp W tym krótkim samouczku pokażemy różne sposoby obliczania sumy liczb całkowitych przy użyciu interfejsu Stream API . Ze względu na prostotę w naszych przykładach użyjemy liczb całkowitych. Jednak te same metody możemy zastosować także do gry typu long i double. 2. Korzystanie z Stream.reduce () Stre

Czytaj więcej

   Spring MVC i adnotacja @ModelAttribute

Spring MVC i adnotacja @ModelAttribute

1. Przegląd Jedną z najważniejszych adnotacji Spring-MVC jest adnotacja @ModelAttribute. @ModelAttribute jest adnotacja, że wiąże parametr metoda lub metody wartości zwracanej do nazwanego atrybutu modelu, a następnie wystawia go na widok internetowej. W poniższym przykładzie zademonstrujemy użyteczność i funkcjonalność adnotacji poprzez wspólną koncepcję: formularz przesłany przez pracownika firmy. 2. @ModelAttribut

Czytaj więcej

   Klasy anonimowe w Javie

Klasy anonimowe w Javie

1. Wstęp W tym samouczku rozważymy anonimowe klasy w Javie. Opiszemy, jak możemy deklarować i tworzyć ich instancje. Omówimy również pokrótce ich właściwości i ograniczenia. 2. Anonimowa deklaracja klasy Klasy anonimowe to klasy wewnętrzne bez nazwy. Ponieważ nie mają nazwy, nie możemy ich używać do tworzenia instancji klas anonimowych. W rezultacie musi

Czytaj więcej

   Potwierdź wyjątek w JUnit 4 i 5

Potwierdź wyjątek w JUnit 4 i 5

1. Wstęp W tym krótkim samouczku przyjrzymy się, jak sprawdzić, czy wyjątek został zgłoszony przy użyciu biblioteki JUnit. Oczywiście upewnimy się, że uwzględnimy zarówno wersje JUnit 4, jak i JUnit 5. 2. JUnit 5 JUnit 5 Jupiter Assertions API wprowadza metodę assertThrows do potwierdzania wyjątków. Przyjmuje typ

Czytaj więcej

   Sortowanie tablic w Javie

Sortowanie tablic w Javie

1. Przegląd W tym samouczku omówimy typowe metody sortowania tablic w kolejności rosnącej i malejącej. Przyjrzymy się używaniu metody sortowania klas Arrays w Javie, a także implementacji naszego własnego komparatora, aby uporządkować wartości naszych tablic. 2. Definicje obiektów Zanim zaczniemy, szybko zdefiniujmy kilka tablic, które będziemy sortować w tym samouczku. Najpierw utworz

Czytaj więcej

   Marker Interfaces w Javie

Marker Interfaces w Javie

1. Wstęp W tym krótkim tutorialu nauczymy się interfejsów znaczników w Javie. 2. Interfejsy znaczników Interfejs znacznika to interfejs, który nie zawiera żadnych metod ani stałych . Dostarcza informacji o obiektach w czasie wykonywania , więc kompilator i maszyna JVM mają dodatkowe informacje o obiekcie . Interfejs

Czytaj więcej

   JVM Garbage Collectors

JVM Garbage Collectors

1. Przegląd W tym krótkim samouczku pokażemy podstawy różnych implementacji JVM Garbage Collection (GC) . Dodatkowo dowiemy się, jak włączyć określony typ wyrzucania elementów bezużytecznych w naszych aplikacjach. 2. Krótkie wprowadzenie do czyszczenia pamięci Z nazwy wygląda na to, że Garbage Collection zajmuje się znajdowaniem i usuwaniem śmieci z pamięci. Jednak w rzeczywis

Czytaj więcej

   Przewodnik po profilach Java

Przewodnik po profilach Java

1. Przegląd Czasami pisanie kodu, który po prostu działa, nie wystarcza. Możemy chcieć wiedzieć, co dzieje się wewnętrznie, na przykład w jaki sposób przydzielana jest pamięć, konsekwencje stosowania jednego podejścia do kodowania w stosunku do innego, implikacje równoczesnych wykonań, obszary wymagające poprawy wydajności itp. Możemy do tego u

Czytaj więcej

   @Scheduled Adnotation in Spring

@Scheduled Adnotation in Spring

1. Przegląd W tym samouczku zilustrujemy, jak adnotacja Spring @Scheduled może służyć do konfigurowania i planowania zadań. Proste zasady, których musimy przestrzegać, aby oznaczyć metodę adnotacją @Scheduled, to: metoda powinna mieć zwracany typ void metoda nie powinna akceptować żadnych parametrów 2. Włącz obsługę

Czytaj więcej

   Znajdź sumę i średnią w tablicy Java

Znajdź sumę i średnią w tablicy Java

1. Wstęp W tym krótkim samouczku omówimy, w jaki sposób możemy obliczyć sumę i średnią w tablicy przy użyciu zarówno standardowych pętli Java, jak i interfejsu API Stream . 2. Znajdź sumę elementów tablicy 2.1. Suma za pomocą pętli For Aby znaleźć sumę wszystkich elementów w tablicy, możemy po prostu powtórzyć tablicę i dodać każdy element do sumy kumulującejzmienna. Zaczyna się to po prostu o

Czytaj więcej

   Pytania do wywiadu dotyczącego współbieżności Java (+ odpowiedzi)

Pytania do wywiadu dotyczącego współbieżności Java (+ odpowiedzi)

Ten artykuł jest częścią serii: • Pytania dotyczące kolekcji Java • Pytania do wywiadu dotyczącego systemu typów Java • Pytania do wywiadu dotyczącego współbieżności języka Java (+ odpowiedzi) (bieżący artykuł) • Pytania do wywiadu dotyczącego struktury klas Java i inicjalizacji • Pytania do wywiadu dotyczące Java 8 (+ odpowiedzi) • Zarządzanie pamięcią w pytaniach do wywiadów Java (+ odpowiedzi) • Pytania do wywiadu dotyczącego generycznych programów Java (+ odpowiedzi) • Pytania do wywiadu Java Flow Control (+ odpowiedzi) • Pytania do wywiadu dotyczącego wyjątków Java (+ odpowiedzi)

Czytaj więcej

   Zrozumienie wyjątku NumberFormatException w języku Java

Zrozumienie wyjątku NumberFormatException w języku Java

1. Wstęp Java zgłasza wyjątek NumberFormatException - niezaznaczony wyjątek - gdy nie może przekonwertować ciągu znaków na typ liczbowy. Ponieważ nie jest zaznaczone, Java nie zmusza nas do obsługi ani deklarowania tego. W tym krótkim samouczku opiszemy i zademonstrujemy, co powoduje wyjątek NumberFormatException w Javie i jak go unikać lub sobie z nim radzić . 2. Przyczyny

Czytaj więcej

   Dodawanie elementu do tablicy Java vs ArrayList

Dodawanie elementu do tablicy Java vs ArrayList

1. Przegląd W tym samouczku przyjrzymy się pokrótce podobieństwom i różnicom w alokacji pamięci między tablicami Java a standardową ArrayList . Ponadto zobaczymy, jak dołączać i wstawiać elementy do tablicy i ArrayList . 2. Tablice Java i ArrayList Tablica Java to podstawowa struktura danych udostępniana przez język. W przeciwieńst

Czytaj więcej

   Adnotacje RequestBody i ResponseBody Springa

Adnotacje RequestBody i ResponseBody Springa

1. Wstęp W tym krótkim samouczku przedstawiamy zwięzłe omówienie adnotacji Spring @RequestBody i @ResponseBody . 2. @RequestBody Mówiąc najprościej, @RequestBody adnotacja odwzorowuje HttpRequest ciało do przeniesienia lub obiektu domeny, umożliwiając automatyczne deserializacji na przychodzące HttpRequest ciała na obiekt Java. Najpierw pr

Czytaj więcej

   Algorytm wyszukiwania wszerz w Javie

Algorytm wyszukiwania wszerz w Javie

1. Przegląd W tym samouczku dowiemy się o algorytmie przeszukiwania wszerz, który pozwala nam wyszukiwać węzły w drzewie lub wykresie, podróżując przez ich węzły wszerz, a nie w głąb. Najpierw przejdziemy przez trochę teorii na temat tego algorytmu dla drzew i wykresów. Następnie zagłębimy się w implementacje algorytmów w Javie. Na koniec omówimy i

Czytaj więcej

   Głębokie pierwsze wyszukiwanie w Javie

Głębokie pierwsze wyszukiwanie w Javie

1. Przegląd W tym samouczku omówimy wyszukiwanie w głębi w Javie. Przeszukiwanie w głąb (DFS) jest algorytmem przechodzenia używanym zarówno dla struktur danych drzewa, jak i wykresu. Głębokość pierwszego wyszukiwania idzie głęboko w każdej gałęzi przed przejściem do zbadania kolejny oddział . W następnych sekc

Czytaj więcej

   Bootstrapping Hibernate 5 with Spring

Bootstrapping Hibernate 5 with Spring

1. Przegląd W tym artykule omówimy, jak uruchomić Hibernate 5 ze Spring , używając zarówno konfiguracji Java, jak i XML. Ten artykuł koncentruje się na Spring MVC. Nasz artykuł Spring Boot with Hibernate opisuje, jak używać Hibernate w Spring Boot. 2. Integracja wiosenna Uruchomienie SessionFactory z natywnym interfejsem API Hibernate jest nieco skomplikowane i zajęłoby nam sporo linii kodu (zajrzyj do oficjalnej dokumentacji, jeśli naprawdę musisz to zrobić). Na szczęście S

Czytaj więcej

   Wywołanie usługi sieci Web SOAP w języku Java

Wywołanie usługi sieci Web SOAP w języku Java

1. Przegląd W tym samouczku nauczymy się, jak zbudować klienta SOAP w Javie z JAX-WS RI . Najpierw wygenerujemy kod klienta za pomocą narzędzia wsimport , a następnie przetestujemy go za pomocą JUnit. Dla początkujących nasze wprowadzenie do JAX-WS zapewnia świetne tło na ten temat. 2. Usługa internetowa Zanim zaczniemy budować klienta, potrzebujemy serwera. W tym przypa

Czytaj więcej

   Krótki przewodnik po Java StringTokenizer

Krótki przewodnik po Java StringTokenizer

1. Przegląd W tym krótkim artykule zbadamy podstawową klasę w Javie - StringTokenizer . 2. StringTokenizer StringTokenizer klasa pomaga nam podzielić Strings na kilka żetonów. StreamTokenizer zapewnia podobną funkcjonalność, ale metoda tokenizacji jest znacznie prostsza niż ta używana przez klasę StreamTokenizer . Metody Strin

Czytaj więcej

   Odwracanie listy połączonej w Javie

Odwracanie listy połączonej w Javie

1. Wstęp W tym samouczku zaimplementujemy dwa połączone algorytmy odwracania list w Javie. 2. Struktura danych listy połączonej Lista połączona to liniowa struktura danych, w której wskaźnik w każdym elemencie określa kolejność. Każdy element listy połączonej zawiera pole danych do przechowywania danych listy i pole wskaźnika, które wskazuje następny element w sekwencji. Możemy również uży

Czytaj więcej

   ClassNotFoundException vs NoClassDefFoundError

ClassNotFoundException vs NoClassDefFoundError

1. Wstęp Zarówno ClassNotFoundException, jak i NoClassDefFoundError występują, gdy maszyna JVM nie może znaleźć żądanej klasy w ścieżce klas. Chociaż wyglądają znajomo, istnieją między nimi pewne podstawowe różnice. W tym samouczku omówimy niektóre z powodów ich wystąpienia i ich rozwiązania. 2. ClassNotFoundExcep

Czytaj więcej

   Niezmienne obiekty w Javie

Niezmienne obiekty w Javie

1. Przegląd W tym samouczku dowiemy się, co sprawia, że ​​obiekt jest niezmienny, jak osiągnąć niezmienność w Javie i jakie korzyści z tego wynikają. 2. Co to jest niezmienny obiekt? Niezmienny przedmiot to obiekt, którego stan wewnętrzny pozostaje niezmienny po całkowitym utworzeniu . Oznacza to, że

Czytaj więcej

   Wiosna @RequestParam Adnotacja

Wiosna @RequestParam Adnotacja

1. Przegląd W tym krótkim samouczku poznamy adnotację @RequestParam Springa i jej atrybuty. Mówiąc najprościej, możemy użyć @RequestParam do wyodrębnienia parametrów zapytania, parametrów formularza, a nawet plików z żądania. 2. Proste mapowanie Powiedzmy, że mamy punkt końcowy / api / foos, który przyjmuje parametr zapytania o nazwie id : @GetMapping("/api/foos") @ResponseBody public String getFoos(@RequestParam String id) { return "ID: " + id; } W tym przykładzie użyliśmy @RequestParam do wyodrębnienia parametru zapytania id . Proste żądanie GET w

Czytaj więcej

   Praca z mapami przy użyciu strumieni

Praca z mapami przy użyciu strumieni

1. Wstęp W tym samouczku omówimy kilka przykładów użycia Java Stream sdo pracy z Map s. Warto zauważyć, że niektóre z tych ćwiczeń można rozwiązać za pomocą dwukierunkowej struktury danych mapy , ale interesuje nas tutaj podejście funkcjonalne. Najpierw wyjaśnimy podstawową koncepcję, której będziemy używać do pracy z Mapami i Streamami . Następnie przedstawiam

Czytaj więcej

   Spring Core Adnotations

Spring Core Adnotations

Ten artykuł jest częścią serii: • Spring Core Adnotations (bieżący artykuł) • Spring Web Adnotations • Adnotacje Spring Boot • Adnotacje do harmonogramu wiosennego • Adnotacje danych Spring • Adnotacje wiosenne 1. Przegląd Możemy wykorzystać możliwości silnika Spring DI, korzystając z adnotacji w pakietach org.springframework.beans.fac

Czytaj więcej

   Sortowanie przez wybór w Javie

Sortowanie przez wybór w Javie

1. Wstęp W tym samouczku nauczymy się sortowania przez wybór , zobaczymy jego implementację w Javie i przeanalizujemy jego wydajność. 2. Omówienie algorytmu Sortowanie przez wybór rozpoczyna się od elementu na pierwszej pozycji nieposortowanej tablicy i przeszukuje kolejne elementy w celu znalezienia najmniejszego elementu . Po znale

Czytaj więcej

   Wprowadzenie do prymitywów języka Java

Wprowadzenie do prymitywów języka Java

1. Przegląd Język programowania Java zawiera osiem pierwotnych typów danych. W tym artykule przypomnimy sobie, czym są prymitywy i omówimy je. 2. Pierwotne typy danych Osiem prymitywów zdefiniowanych w Javie to int , byte , short , long , float , double , boolean i char - nie są to obiekty i reprezentują surowe wartości. Są prze

Czytaj więcej

   Haszowanie MD5 w Javie

Haszowanie MD5 w Javie

Java Top Właśnie ogłosiłem nowy kurs Learn Spring , skupiający się na podstawach Spring 5 i Spring Boot 2: >> SPRAWDŹ KURS 1. Przegląd MD5 to szeroko stosowana kryptograficzna funkcja skrótu, która tworzy 128-bitowy skrót. W tym artykule zobaczymy różne podejścia do tworzenia skrótów MD5 przy użyciu różnych bibliotek Java . 2. MD5 z wykorzys

Czytaj więcej

   Porównanie obiektów w Javie

Porównanie obiektów w Javie

1. Wstęp Porównywanie obiektów jest podstawową funkcją języków programowania zorientowanych obiektowo. W tym samouczku przyjrzymy się niektórym funkcjom języka Java, które pozwalają nam porównywać obiekty. Dodatkowo przyjrzymy się takim funkcjom w bibliotekach zewnętrznych. 2. == i ! = Operatory Za

Czytaj więcej

   Wysyłanie e-maili za pomocą Java

Wysyłanie e-maili za pomocą Java

1. Przegląd W tym krótkim samouczku przyjrzymy się wysyłaniu wiadomości e-mail z załącznikami i bez - przy użyciu podstawowej biblioteki poczty Java. 2. Konfiguracja projektu i zależności W tym artykule będziemy używać prostego projektu opartego na Maven z zależnością od biblioteki poczty Java: javax.mail mail 1.5.0-

Czytaj więcej

   Właściwości z butem sprężynowym i sprężynowym

Właściwości z butem sprężynowym i sprężynowym

1. Przegląd Ten samouczek pokaże, jak skonfigurować i używać właściwości w Spring za pośrednictwem konfiguracji Java i @PropertySource. Zobaczymy również, jak działają właściwości w Spring Boot. 2. Zarejestruj plik właściwości za pomocą adnotacji Spring 3.1 wprowadza również nową adnotację @PropertySource jako wygodny mechanizm dodawania źródeł właściwości do środowiska. Możemy użyć tej adnotacji w p

Czytaj więcej

   Przewodnik po Java Reflection

Przewodnik po Java Reflection

1. Przegląd W tym artykule będziemy badać odbicie języka Java, które pozwala nam sprawdzać lub / lub modyfikować atrybuty klas, interfejsów, pól i metod w czasie wykonywania. Jest to szczególnie przydatne, gdy nie znamy ich nazw w czasie kompilacji. Ponadto możemy tworzyć instancje nowych obiektów, wywoływać metody i pobierać lub ustawiać wartości pól przy użyciu odbicia. 2. Konfiguracja pr

Czytaj więcej

   JAX-RS to tylko API!

JAX-RS to tylko API!

1. Przegląd Paradygmat REST istnieje już od kilku lat i wciąż cieszy się dużym zainteresowaniem. API RESTful można zaimplementować w Javie na wiele sposobów: możesz użyć Springa, JAX-RS lub po prostu napisać własne, gołe serwlety, jeśli jesteś wystarczająco dobry i odważny. Wszystko, czego potrzebujesz, to możliwość ujawnienia metod HTTP - reszta dotyczy tego, jak je zorganizujesz i jak prowadzisz klienta podczas wykonywania wywołań do Twojego API. Jak możesz zauważyć z

Czytaj więcej

   Runnable vs Calllable w Javie

Runnable vs Calllable w Javie

1. Przegląd Od początku istnienia języka Java wielowątkowość była głównym aspektem języka. Runnable to podstawowy interfejs przeznaczony do reprezentowania zadań wielowątkowych, a Callable to ulepszona wersja Runnable, która została dodana w Javie 1.5. W tym artykule zbadamy różnice i zastosowania obu interfejsów. 2. Mechanizm wy

Czytaj więcej

   Nieobsługiwana metoda żądania (405) na wiosnę

Nieobsługiwana metoda żądania (405) na wiosnę

1. Przegląd Ten krótki artykuł koncentruje się na typowym błędzie - „Metoda żądania nie jest obsługiwana - 405” - z którym programiści napotykają podczas ujawniania swoich interfejsów API dla określonych zleceń HTTP za pomocą Spring MVC. Oczywiście omówimy również typowe przyczyny tego błędu. 2. Podstawy metod żądań

Czytaj więcej

   Różnica między dwiema datami w Javie

Różnica między dwiema datami w Javie

1. Przegląd W tym krótkim artykule zbadamy wiele możliwości obliczenia różnicy między dwiema datami w Javie. 2. Core Java 2.1. Korzystanie z java.util.Date w celu znalezienia różnicy w dniach Zacznijmy od wykorzystania podstawowych interfejsów API języka Java do obliczeń i określenia liczby dni między tymi dwiema datami: @Test public void givenTwoDatesBeforeJava8_whenDifferentiating_thenWeGetSix() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH); Date

Czytaj więcej

   Przewodnik po TreeSet w Javie

Przewodnik po TreeSet w Javie

1. Przegląd W tym artykule przyjrzymy się integralnej części struktury kolekcji Java oraz jednej z najpopularniejszych implementacji zestawu - TreeSet . 2. Wprowadzenie do TreeSet Mówiąc najprościej, TreeSet to posortowana kolekcja, która rozszerza klasę AbstractSet i implementuje interfejs NavigableSet . Oto kró

Czytaj więcej

   Logowanie do formularza bezpieczeństwa Spring

Logowanie do formularza bezpieczeństwa Spring

1. Wstęp Ten artykuł skupi się na logowaniu za pomocą Spring Security . Będziemy budować na podstawie prostego poprzedniego przykładu Spring MVC, ponieważ jest to niezbędna część konfiguracji aplikacji internetowej wraz z mechanizmem logowania. 2. Zależności Mavena Podczas pracy ze Spring Boot, spring-boot-starter-security- starter automatycznie uwzględni wszystkie zależności, takie jak spring-security-core , spring-security-web i spring-security-config : org.springframework.b

Czytaj więcej