Преобразуване между списък и набор в Java

Преобразуване между списък и набор в Java

1. Общ преглед В тази кратка статия ще разгледаме преобразуването между списък и набор - като започнем с обикновена Java, използваме Guava и библиотеката Apache Commons Collections и накрая с Java 10. Тази статия е част от поредицата „Java - Back to Basic“ тук на Baeldung. 2. Конвертиране на списъка в Set 2.1. С обикнове

Прочетете още

   Пролетни въпроси за интервю за MVC

Пролетни въпроси за интервю за MVC

1. Въведение Spring MVC е оригиналната уеб рамка от Spring, изградена върху API на Servlet. Той осигурява архитектура Model-View-Controller, която може да се използва за разработване на гъвкави уеб приложения. В този урок ще се съсредоточим върху въпросите, свързани с него, тъй като често това е тема на интервю за работа за пролетни р

Прочетете още

   Java Stream Filter с Lambda Expression

Java Stream Filter с Lambda Expression

1. Въведение В този бърз урок ще изследваме използването на метода Stream.filter () , когато работим с потоци в Java. Ще разгледаме как да го използваме и как да обработваме специални случаи с отметнати изключения. 2. Използване на Stream.filter () Методът filter () е междинна операция на интерфейса Stream , която ни позволява да филтрираме елементи на поток, които

Прочетете още

   Java InputStream към низ

Java InputStream към низ

1. Общ преглед В този урок ще разгледаме как да конвертираме InputStream в String , използвайки Guava, библиотеката на Apache Commons IO и обикновената Java. Тази статия е част от поредицата „Java - Back to Basic“ тук на Baeldung. 2. Преобразуване с гуава Нека започнем с пример с Guava - използвайки функционалността ByteSource : @Test public void g

Прочетете още

   Сортирайте HashMap в Java

Сортирайте HashMap в Java

1. Въведение В този бърз урок ще научим как да сортирате HashMap в Java . По-конкретно, ще разгледаме сортирането на записите в HashMap по техния ключ или стойност, като използваме: TreeMap ArrayList и Collections.sort () TreeSet Използване на живо API , и най-накрая, Използване на библиотеката Guava 2. Използване на TreeMap Както зн

Прочетете още

   Ръководство за JAXB

Ръководство за JAXB

1. Въведение Това е уводна статия за JAXB (Java Architecture for XML Binding). Първо ще покажем как да конвертираме Java обекти в XML и обратно, а след това ще се съсредоточим върху генерирането на Java класове от XML схема и обратно, като използваме приставката JAXB-2 Maven. 2. Общ преглед JAXB предоставя бърз и удобен начин за маршалиране (записване) на Java обекти в XML и демаршал (четене) на XML в обекти. Той поддържа рамка за обвъ

Прочетете още

   Ръководство за Java HashMap

Ръководство за Java HashMap

1. Общ преглед В тази статия ще видим как да използваме HashMap в Java и ще разгледаме как работи вътрешно. Клас, много подобен на HashMap, е Hashtable . Моля, обърнете се към няколко други наши статии, за да научите повече за самия клас java.util.Hashtable и разликите между HashMap и Hashtable . 2. Основна употреба Нека първо разгледаме какво означава, че HashMap е карта. Картата е картографиране

Прочетете още

   Преобразуване на масив от символи в низ в Java

Преобразуване на масив от символи в низ в Java

1. Общ преглед В този бърз урок ще разгледаме различни начини за преобразуване на масив от символи в низ в Java. 2. Конструктор на низове Класът String има конструктор, който приема масив char като аргумент: @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")); } Това е един от най-лесните начини за преобразуване на масив char в низ . Той вътрешно извиква String # valueOf, за да създаде String обект. 3. String.valueOf () И говорейки за valueOf (), мо

Прочетете още

   Кодиране и декодиране на Java Base64

Кодиране и декодиране на Java Base64

1. Общ преглед В този урок ние изследваме различните помощни програми, които предоставят функционалност за кодиране и декодиране Base64 в Java. Основно ще илюстрираме новите API на Java 8 и помощните API, които излизат от Apache Commons. 2. Java 8 за база 64 Java 8 най-накрая добави Base64 възможности към стандартния API. Това става чрез класа на помощната програма java.util.Base64 . Нека за

Прочетете още

   Ламбда изрази и функционални интерфейси: съвети и най-добри практики

Ламбда изрази и функционални интерфейси: съвети и най-добри практики

1. Общ преглед Сега, когато Java 8 достигна широко използване, започнаха да се появяват модели и най-добри практики за някои от функциите на хедлайнера. В този урок ще разгледаме по-отблизо функционалните интерфейси и ламбда изразите. 2. Предпочитайте стандартните функционални интерфейси Функционалните интерфейси, събрани в пакета java.util.function , задоволяват нуждите на повечето разработчици при предоставяне на

Прочетете още

   Ръководство за Java Enums

Ръководство за Java Enums

1. Общ преглед В тази статия ще видим какво представляват изброяванията на Java, какви проблеми те решават и как някои от дизайнерските модели могат да бъдат използвани на практика. В ENUM Ключовата дума е въведена в Java 5. Това означава специален тип клас, който винаги разширява java.lang.Enum клас. За официалната докумен

Прочетете още

   Методът Thread.join () в Java

Методът Thread.join () в Java

1. Общ преглед В този урок ще обсъдим различните методи join () в класа Thread . Ще влезем в подробностите за тези методи и някои примерни кодове. Подобно на методите wait () и notify () , join () е друг механизъм за синхронизация между нишките. Можете да разгледате набързо този урок, за да прочетете повече за wait () и уведомяване () . 2. Thread.join () метод Методът на присъединяване е дефиниран в кл

Прочетете още

   Сортиране на вмъкване в Java

Сортиране на вмъкване в Java

1. Общ преглед В този урок ще обсъдим алгоритъма за сортиране на вмъкване и ще разгледаме неговото изпълнение на Java . Insertion Sort е ефективен алгоритъм за поръчка на малък брой артикули. Този метод се основава на начина, по който играчите на карти сортират ръка на игрални карти. Започваме с празна лява ръка и картите, поло

Прочетете още

   Пролетно запитване на карти

Пролетно запитване на карти

1. Общ преглед В този урок ще се съсредоточим върху една от основните анотации в Spring MVC: @RequestMapping. Най-просто казано, анотацията се използва за картографиране на уеб заявки към методите Spring Controller. 2. @ RequestMapping Basics Нека започнем с прост пример: съпоставяне на HTTP заявка с метод, използвайки някои основни критерии. 2.1.

Прочетете още

   Избягване на ConcurrentModificationException в Java

Избягване на ConcurrentModificationException в Java

1. Въведение В тази статия ще разгледаме класа ConcurrentModificationException . Първо ще дадем обяснение как работи и след това ще го докажем с помощта на тест за задействането му. И накрая, ще изпробваме някои решения, като използваме практически примери. 2. Задействане на ConcurrentModificatio

Прочетете още

   Java 9 нови функции

Java 9 нови функции

1. Общ преглед Java 9 се предлага с богат набор от функции. Въпреки че няма нови езикови концепции, новите API и диагностични команди определено ще бъдат интересни за разработчиците. В тази статия ще имаме бърз поглед на високо ниво на някои от новите функции; пълен списък с нови функции можете да намерите тук. 2. Модул

Прочетете още

   Метод Java toString ()

Метод Java toString ()

1. Общ преглед Всеки клас в Java е подчинен на клас Object, пряко или косвено. И тъй като класът Object съдържа метод toString () , можем да извикаме toString () на всеки екземпляр и да получим неговото представяне на низове. В този урок ще разгледаме поведението по подразбиране на toString () и ще научим как да променим поведението му. 2. Поведение по подразбиране

Прочетете още

   Инициализация на списъка на Java в един ред

Инициализация на списъка на Java в един ред

1. Въведение В този бърз урок ще проучим как можем да инициализираме Списък с помощта на еднолинейни линии. 2. Създаване от масив Можем да създадем Списък от масив и благодарение на литералите на масива можем да ги инициализираме в един ред: List list = Arrays.asList(new String[]{"foo", "bar"}); Можем да се доверим на механизма varargs, за да се справи със създаването на масива. По този начин можем да напишем по-кратък и четим код: @Test public void

Прочетете още

   Конструктор за копиране на Java

Конструктор за копиране на Java

1. Въведение Конструктор на копиране в клас Java е конструктор, който създава обект, използвайки друг обект от същия клас Java . Това е полезно, когато искаме да копираме сложен обект, който има няколко полета, или когато искаме да направим дълбоко копие на съществуващ обект. 2. Как да създам конструктор за копиране За да създадем конструктор за копиране, можем първо да декларираме конструктор, който приема обект от същия тип като параметър: public class Employee { private int id; pri

Прочетете още

   Въпроси за интервю за Java Collections

Въпроси за интервю за Java Collections

Тази статия е част от поредица: • Въпроси за интервю за Java Collections (текуща статия) • Въпроси за интервю за системния тип Java • Въпроси за интервю за съвпадение на Java (+ отговори) • Структура на Java клас и въпроси за интервю за инициализация • Въпроси за интервю за Java 8 (+ отговори) • Управление на паметта в Java Интервю въпроси (+ отговори) • Въпроси за интервю за Java Generics (+ отговори) • Въпроси за интервю за Java Flow Control (+ отговори) • Въпроси за интервю за Java Exceptions (+ отговори) • Въпроси за интервю за Java Annotations (+ отговори) • Топ пролетни въпроси

Прочетете още

   Преобразуване на String в int или Integer в Java

Преобразуване на String в int или Integer в Java

1. Въведение Преобразуването на String в int или Integer е много често срещана операция в Java. В тази статия ще покажем множество начини за справяне с този проблем. Има няколко прости начина за справяне с това основно преобразуване. 2. Integer.parseInt () Една от основните решения е да се използват Integer , целевата метод статично: parseInt () , която връща примитивен вътр стойност : @Test public

Прочетете още

   Ръководство за най-важните параметри на JVM

Ръководство за най-важните параметри на JVM

1. Общ преглед В този бърз урок ще разгледаме най-известните опции, които могат да се използват за конфигуриране на виртуалната машина Java. 2. Изрична купчина памет - Xms и Xmx Опции Една от най-често срещаните практики, свързани с производителността, е да се инициализира купчината памет според изискванията на приложението. Ето защо трябва да посочим минимален и максимален размер на купчината. За постигането му могат да се използват следните параметри: -Xms[unit] -Xmx[unit] Тук единица означава единицата, в която паметта (посочена от размера на купчината ) трябва да бъде

Прочетете още

   Ръководство за java.util.Formatter

Ръководство за java.util.Formatter

1. Общ преглед В тази статия ще обсъдим форматирането на String в Java с помощта на класа java.util.Formatter , който осигурява поддръжка за оправдание и подравняване на оформлението. 2. Как да използвам форматиращия инструмент Помните ли printf на C ? Форматирането на низ в Java се чувства много подобн

Прочетете още

   Моделът на наблюдателя в Java

Моделът на наблюдателя в Java

1. Общ преглед В тази статия ще опишем модела на Observer и ще разгледаме няколко алтернативи за внедряване на Java. 2. Какъв е моделът на наблюдателя? Наблюдателят е модел на поведенчески дизайн. Той определя комуникацията между обекти: наблюдаем и наблюдатели . Един видимо е обект, който не уведоми наблюдатели за промените в състоянието м

Прочетете още

   Защо String е неизменяем в Java?

Защо String е неизменяем в Java?

1. Въведение В Java низовете са неизменни. Очевиден въпрос, който е доста разпространен в интервютата, е „Защо струните са проектирани като неизменяеми в Java?“ Джеймс Гослинг, създателят на Java, веднъж беше попитан в интервю кога трябва да се използват неизменяеми, на което той отговаря: Бих използвал неизменяем, когато мога. Освен това той подкрепя аргумента си, като посочва функции, които предоставя неизменността, като кеширане, сигурност, лесно повторно използване без репликация и т.н. В този урок ще разгледаме допълнително защо дизайнерите на езика Java са решили да запазят

Прочетете още

   Пролетен JDBC

Пролетен JDBC

1. Общ преглед В тази статия ще разгледаме практически случаи на използване на Spring JDBC модула. Всички класове в Spring JDBC са разделени на четири отделни пакета: ядро - основната функционалност на JDBC. Някои от важните класове по този пакет включват JdbcTemplate , SimpleJdbcInsert, SimpleJdbcCall и NamedParameterJdbcTemplate . datasource - кла

Прочетете още

   Преобразувания на масив в низ

Преобразувания на масив в низ

1. Общ преглед В този кратък урок ще разгледаме преобразуването на масив от низове или цели числа в низ и обратно. Можем да постигнем това с ванилни Java и Java помощни класове от често използвани библиотеки. 2. Преобразуване на масив в низ Понякога трябва да преобразуваме масив от низове или цели числа в низ, но за съжаление няма директен метод за извършване на то

Прочетете още

   ПОЧИВКА с пролетен урок

ПОЧИВКА с пролетен урок

ПОЧИВКА Най-горе Току що обявих новия курс Learn Spring , фокусиран върху основите на Spring 5 и Spring Boot 2: >> ПРЕГЛЕД НА КУРСА Изграждането на REST API не е тривиална задача - от ограниченията на RESTful на високо ниво до глупостта да накарате всичко да работи и да работи добре. Пролетта превърна REST в първокласен гражданин и платформата съзрява скокообразно. С излизането на Spring 5, REST вече е закален в битки и напълно зрял . С това ръководство целта ми

Прочетете още

   Урок за Mockito

Урок за Mockito

Тази поредица от уроци се фокусира върху библиотеката Mockito - от основни до по-напреднали случаи на употреба, както и да я интегрира с други полезни библиотеки за тестване като JUnit. Основи на Mockito Първи стъпки с Mockito @Mock, @Spy, @Captor и @InjectMocks (популярно) Кратко ръководство за BDDMockito Мокетнит

Прочетете още

   Задайте JAVA_HOME на Windows 7, 8, 10, Mac OS X, Linux

Задайте JAVA_HOME на Windows 7, 8, 10, Mac OS X, Linux

1. Общ преглед В тази кратка статия ще разгледаме как да настроите променливата JAVA_HOME в Windows, Mac OS X и Linux. 2. Windows 2.1. Windows 10 и 8 Отворете Търсене и въведете разширени системни настройки В показаните опции, изберете допълнителни настройки на системата Вижте линка В раздела Разширени щракнете върху Променливи на околната среда В раздела Системни променливи щракнете върху Ново (или Потребителски променливи за единична потребителска настройка) Задайте JAVA_HOME като име на променлива и пътя към инсталацията на JDK като стойност на променливата и щракнете върху OK Щрак

Прочетете още

   Инициализирайте HashMap в Java

Инициализирайте HashMap в Java

1. Общ преглед В този урок ще научим за различни начини за инициализиране на HashMap в Java. Ще използваме Java 8, както и Java 9. 2. Статичният инициализатор за статична HashMap Можем да инициализираме HashMap, използвайки статичен блок код: public static Map articleMapOne; static { articleMapOne = new HashMap(); articleMapOne.put("ar01", "Intro to Map"); articleMapOne.put("ar02", "Some article"); } Предимството на този вид инициализация е, че картата е променлива, но тя ще работи са

Прочетете още

   Сигурност с пролетта

Сигурност с пролетта

Уроците за сигурност със Spring се фокусират, както бихте очаквали, върху Spring Security. Започнете със серията Регистрация, ако се интересувате от изграждане на поток за регистрация и разбиране на някои основи на рамките. След това проучете задълбочено удостоверяване и други вътрешни елементи на Spring Security. И накрая, разгледайте някои от по-напредналите теми, като например подд

Прочетете още

   Разликата между map () и flatMap ()

Разликата между map () и flatMap ()

1. Общ преглед API (map) и flatMap () произлизат от функционални езици. В Java 8 можете да ги намерите в Optional, Stream и CompletableFuture (макар и с малко по-различно име). Потоците представляват последователност от обекти, докато опционалните са класове, които представляват стойност, която може да присъства или отсъства. Сред другите съвкупни операции имаме методите map () и flatMap () . Въпреки факта, че и двете имат едни и същи видове връщане , те са доста различни. Нека да обясним тези разлики, като анализираме някои примери за

Прочетете още

   Въведение в Spring Data JPA

Въведение в Spring Data JPA

1. Общ преглед Тази статия ще се фокусира върху въвеждането на Spring Data JPA в проект Spring и изцяло конфигуриране на слоя за устойчивост. За стъпка по стъпка за въвеждане на контекста на Spring, използвайки Java-базирана конфигурация и основния Maven pom за проекта, вижте тази статия. 2. Пролетните данни, генерирани от DAO - Няма повече изпълнения на DAO Както обсъждахме в по-ранна статия, слоят DAO обикновено се състои от много типови кодове, които могат и трябва да бъдат опрос

Прочетете още

   Урок за Джексън JSON

Урок за Джексън JSON

Този урок илюстрира най-често срещаните задачи, проблеми и решения на Jackson 2 по време на марширане и демаркиране на JSON. Основен Джаксън Маршалинг Примери за анотации на Джаксън (популярни) Въведение в Jackson ObjectMapper (популярно) Jackson Ignore Properties on Marshalling Игнорирайте Null Fields с Джаксън Джаксън - Промяна на името на полето XML сериализация и десериализация с Джаксън Джаксън - Маршалов низ към JsonNode Използване на незадължително с Джаксън Основно освобождаване на Джаксън Джаксън - Демаркиране на JSON с неизвестни свойства Джаксън срещу Гсон

Прочетете още

   Въведение в Spring AOP

Въведение в Spring AOP

1. Въведение В този урок ще представим AOP (Aspect Oriented Programming) с Spring и ще започнем да разбираме как можем да започнем да използваме този мощен инструмент в практически сценарии. Възможно е също така да се използват анотациите на AspectJ, когато се използва Spring AOP, но в тази статия ние се фокус

Прочетете още

   Ръководство за System.exit ()

Ръководство за System.exit ()

1. Общ преглед В този урок ще разгледаме какво означава System.exit в Java. Ще видим целите му, къде да използваме и как да го използваме. Също така ще видим каква е разликата в извикването му с различни кодове на състоянието. 2. Какво е System.exit ? System.exit е празен метод. Той взема изходен код, който предава на извикващия скрипт или програма. Излизането с нулев код означава норма

Прочетете още

   Ръководство за Google Guice

Ръководство за Google Guice

1. Въведение Тази статия ще разгледа основите на Google Guice . Ще разгледаме подходите за изпълнение на основните задачи за инжектиране на зависимост (DI) в Guice. Също така ще сравним и сравним подхода на Guice с тези на по-утвърдени DI рамки като Spring и Contexts и Dependency Injection (CDI). Тази статия предполага, че читателят разбира основите на модела на инжектиране на зависимост. 2. Настройка За да използвате Google Guice във вашия проект Maven, ще трябва да

Прочетете още

   Ръководство за UUID в Java

Ръководство за UUID в Java

1. Общ преглед UUID (Универсално уникален идентификатор), известен също като GUID (Глобално уникален идентификатор) представлява 128-битова дълга стойност, която е уникална за всички практически цели . Стандартното представяне на UUID използва шестнадесетични цифри (октети): 123e4567-e89b-12d3-a456-556642440000 UUID се състои от шестнадесетични цифри (

Прочетете още

   Грешка в Java Compiler: незаконно начало на израз

Грешка в Java Compiler: незаконно начало на израз

1. Общ преглед „Незаконното начало на изразяване“ е често срещана грешка, с която може да се сблъскаме по време на компилацията. В този урок ще видим примери, които илюстрират основните причини за тази грешка и как да я поправим. 2. Липсващи къдрави скоби Липсващите фигурни скоби могат да доведат до грешка „незаконно начало на израза“. Нека първо разгледаме един пример: package com.baeldung; public class Missi

Прочетете още

   Грешка в Java Compiler: „очаква се клас, интерфейс или преброяване“

Грешка в Java Compiler: „очаква се клас, интерфейс или преброяване“

1. Общ преглед В този бърз урок ще говорим за грешката на Java компилатора „очаква се клас, интерфейс или преброяване“. С тази грешка се сблъскват главно разработчици, които са нови в света на Java. Нека да разгледаме няколко примера за тази грешка и да обсъдим как да ги поправим. 2. Заблудени къдрави скоби Основната причина за грешката „клас, ин

Прочетете още

   Ръководство за TreeMap в Java

Ръководство за TreeMap в Java

1. Общ преглед В тази статия ще изследваме внедряването на TreeMap на интерфейса Map от Java Collections Framework (JCF). TreeMap е реализация на карта, която запазва записите си сортирани според естественото подреждане на ключовете си или още по-добре, използвайки сравнител, ако е предоставен от потребителя по време на изграждането. По-рано разгледахме внедряванията на HashMap и LinkedHashMap и ще разберем, че има доста малко информация за това как работят тези класове, която е подобна. Споменатите статии са силно препоръчителни за четене, преди да продължите

Прочетете още

   Какво е пролетен боб?

Какво е пролетен боб?

1. Общ преглед Bean е ключова концепция на Spring Framework. Като такова, разбирането на това понятие е от решаващо значение, за да се разбере рамката и да се използва по ефективен начин. За съжаление няма ясни отговори на един прост въпрос - какво всъщност представлява пролетният боб. Някои обяснения стигат до толк

Прочетете още

   NaN в Java

NaN в Java

1. Общ преглед Най-просто казано, NaN е числова стойност на типа данни, която означава „не число“. В този бърз урок ще обясним стойността на NaN в Java и различните операции, които могат да произведат или да включват тази стойност. 2. Какво е NaN ? NaN обикновено показва резултата от невалидни операции. Например опит за разделяне на нула на нула е една такава операция. Също така използваме NaN за непре

Прочетете още

   Пролетни профили

Пролетни профили

1. Общ преглед В този урок ще се съсредоточим върху въвеждането на профили през пролетта. Профилите са основна характеристика на рамката - позволявайки ни да картографираме нашите зърна към различни профили - например dev , test и prod . След това можем да активираме различни профили в различни среди, за да заредим само зърната, от които се нуждаем. 2. Използвайте @Profile на Bean Нека започнем просто и да разгл

Прочетете още

   Как да разположим WAR файл в Tomcat

Как да разположим WAR файл в Tomcat

1. Общ преглед Apache Tomcat е един от най-популярните уеб сървъри в общността на Java. Той се доставя като контейнер за сървлети, способен да обслужва Web ARchives с разширението WAR. Той осигурява табло за управление, от което можете да внедрите ново уеб приложение или да деплодирате съществуващо, б

Прочетете още

   Въведение в RxJava

Въведение в RxJava

1. Общ преглед В тази статия ще се съсредоточим върху използването на реактивни разширения (Rx) в Java за съставяне и консумиране на поредици от данни. С един поглед API може да изглежда подобно на Java 8 Streams, но всъщност е много по-гъвкав и плавен, което го прави мощна парадигма за програмиране. Ако искате да прочетете повече за RxJava, разгледайте това писане. 2. Настройка За да използваме RxJava в нашия проект Maven, ще трябва да добавим следната зависимост към нашия pom.xml: io.reactivex rxjava ${rx.java.

Прочетете още

   Предупреждение за SLF4J: Пътят на класа съдържа множество свързвания SLF4J

Предупреждение за SLF4J: Пътят на класа съдържа множество свързвания SLF4J

1. Общ преглед Когато използваме SLF4J в нашите приложения, понякога виждаме предупредително съобщение за множество обвързвания в пътя на класа, отпечатан на конзолата. В този урок ще се опитаме да разберем защо виждаме това съобщение и как да го разрешим. 2. Разбиране на предупреждението Първо, нека

Прочетете още

   Java - Опитайте с ресурси

Java - Опитайте с ресурси

1. Общ преглед Поддръжката за try-with-resources - въведена в Java 7 - ни позволява да декларираме ресурси, които да бъдат използвани в блок try, с увереността, че ресурсите ще бъдат затворени след изпълнението на този блок. Декларираните ресурси трябва да изпълняват интерфейса AutoCloseable . 2. Използване на опит с ресурси Просто казано, за да се затвори автоматично, ресу

Прочетете още

   Въведение в Thread Pools в Java

Въведение в Thread Pools в Java

1. Въведение Тази статия е поглед върху пуловете от нишки в Java - като се започне с различните реализации в стандартната библиотека на Java и след това се разгледа библиотеката на Гуава на Google. 2. Басейнът с нишки В Java нишките се съпоставят с нишки на системно ниво, които са ресурси на операционната система. Ако създавате нишки неко

Прочетете още

   Ръководство за Iterator в Java

Ръководство за Iterator в Java

1. Въведение Един Итераторът е един от многото начини да преминават колекция, и като всеки вариант, тя има своите плюсове и минуси. За първи път беше представен в Java 1.2 като заместител на изброяванията и: въведе подобрени имена на методи направи възможно премахването на елементи от колекция,

Прочетете още

   Влизане в Spring Boot

Влизане в Spring Boot

1. Общ преглед В този кратък урок ще разгледаме основните опции за регистриране, налични в Spring Boot. По-задълбочена информация за Logback е налична в Ръководство за Logback, докато Log4j2 е представен в Intro to Log4j2 - Appenders, Layouts and Filters. 2. Първоначална настройка Нека първо създадем модул Spring Boot. Препоръчителният начин да го направите е да използвате Spring Initiali

Прочетете още

   Изявление за превключване на Java

Изявление за превключване на Java

1. Общ преглед В този урок ще научим какво представлява операторът за превключване и как да го използваме. Операторът switch ни позволява да заменим няколко вложени конструкции if-else и по този начин да подобрим четливостта на нашия код. Switch еволюира с течение на времето - добавени са нови поддържани типове, особено в Java 5 и 7. Също така, той продължава да се развива - изразите за превключване вероятно ще бъдат

Прочетете още

   Анотации на пролетното зареждане

Анотации на пролетното зареждане

Тази статия е част от поредица: • Spring Core Annotations • Пролетни уеб анотации • Анотации за пролетно зареждане (текуща статия) • Анотации за пролетно планиране • Пролетни анотации на данни • Анотации на пролетен боб 1. Общ преглед Spring Boot улесни конфигурирането на Spring с функцията за автоматично конфигуриране. В този бърз урок ще изследваме поясненията от пакетите org.sprin

Прочетете още

   Spring ApplicationContext

Spring ApplicationContext

1. Общ преглед В този урок ще разгледаме подробно интерфейса на Spring ApplicationConext . 2. Интерфейсът ApplicationContext Една от основните характеристики на Spring структурата е IoC (Inversion of Control) контейнер. Контейнерът Spring IoC е отговорен за управлението на обектите на приложение. Той използва инжектиране на зависим

Прочетете още

   @Component срещу @Repository и @Service през пролетта

@Component срещу @Repository и @Service през пролетта

1. Въведение В този бърз урок ще научим за разликите между @Component, @Repository, @Service анотации в Spring Framework. 2. Пролетни анотации В повечето типични приложения имаме различни слоеве като достъп до данни, презентация, услуга, бизнес и т.н. И във всеки слой имаме различни зърна. Просто казано, за да ги открие автоматично, Spring използва анотации за сканиране на classpath . След това регистр

Прочетете още

   Аргументи от командния ред в Java

Аргументи от командния ред в Java

1. Въведение Доста често се изпълняват приложения от командния ред с помощта на аргументи. Особено от страна на сървъра. Обикновено не искаме приложението да прави едно и също нещо при всяко изпълнение: искаме да конфигурираме поведението му по някакъв начин. В този кратък урок ще проучим как можем да обработваме аргументи от командния ред в Java. 2. Достъп до аргументи от командния ред в Java Тъй като основният метод е входната точка на Java приложение, JVM предава

Прочетете още

   Настройка на Swagger 2 с Spring REST API

Настройка на Swagger 2 с Spring REST API

Защита отгоре Току-що обявих новия курс Learn Spring Security, включително пълния материал, фокусиран върху новия стек OAuth2 в Spring Security 5: >> ПРЕГЛЕД НА ОСТАНАЛИТЕ НА КУРСА Горе Току що обявих новия курс Learn Spring , фокусиран върху основите на Spring 5 и Spring Boot 2: >> ПРЕГЛЕД НА КУРСА 1. Общ преглед В днешно време предните и задните компоненти често разделят уеб приложение. Обикновено ние излагаме API като back-end компонент за интеграция на front-end ком

Прочетете още

   Изпращане на JSON POST заявка с HttpURLConnection

Изпращане на JSON POST заявка с HttpURLConnection

1. Общ преглед В този урок ще демонстрираме как да направим JSON POST заявка, използвайки HttpURLConnection . 2. Изграждане на JSON POST заявка с HttpURLConnection 2.1. Създайте URL обект Нека създадем URL обект с целевия URI низ, който приема JSON данни чрез HTTP POST метод: URL url = new URL ("//reqres.in/api/users"); 2.2. Отворете връзка От горния обект на URL , можем да извикаме метода openConnection , за да получим обекта HttpURLConnection . Н

Прочетете още

   Въведение в Java ArrayDeque

Въведение в Java ArrayDeque

1. Общ преглед В този урок ще ви покажем как да се използва на Java ArrayDeque клас - което е изпълнение на Deque интерфейс. Един ArrayDeque (известен също като "Array Double Ended Queue", се произнася като "ArrayDeck") е специален вид на growable масив, който ни позволява да добавяте или премахвате елемент от двете страни. Изпълнението на ArrayDeque може да се използва като стек (Last-In-First-Out) или опашка (First-In-First-Out). 2. API накратко За всяка операция имаме основно две възможности. Първата груп

Прочетете още

   Сумиране на числа с Java потоци

Сумиране на числа с Java потоци

1. Въведение В този бърз урок ще покажем различни начини за изчисляване на сумата от цели числа, използвайки Stream API . За по-голяма простота ще използваме цели числа в нашите примери. Въпреки това можем да приложим същите методи и за удължаване и удвояване. 2. Използване на Stream.reduce () Stream.reduce () е терминална

Прочетете още

   Spring MVC и анотацията @ModelAttribute

Spring MVC и анотацията @ModelAttribute

1. Общ преглед Една от най-важните анотации на Spring-MVC е анотацията @ModelAttribute. В @ModelAttribute е пояснение, което се свързва параметър на метод или метод за връщане на стойност до назован модел атрибут и след това го излага на уеб изглед. В следващия пример ще демонстрираме използваемостта и функционалността на анотацията чрез обща концепция: формуляр, изпратен от служител на компанията. 2. @Model

Прочетете още

   Анонимни класове в Java

Анонимни класове в Java

1. Въведение В този урок ще разгледаме анонимни класове в Java. Ще опишем как можем да декларираме и създаваме екземпляри от тях. Също така ще обсъдим накратко техните свойства и ограничения. 2. Анонимна декларация за клас Анонимните класове са вътрешни класове без име. Тъй като те нямат име, не можем да ги използваме, за да създаваме екзе

Прочетете още

   Потвърдете, че изключение е хвърлено в JUnit 4 и 5

Потвърдете, че изключение е хвърлено в JUnit 4 и 5

1. Въведение В този бърз урок ще разгледаме как да тестваме дали е било хвърлено изключение с помощта на библиотеката JUnit. Ние, разбира се, ще се погрижим да покрием както версиите JUnit 4, така и JUnit 5. 2. JUnit 5 JUnit 5 API за твърдения на Юпитер въвежда метода assertThrows за заявяване на изключения. Това взема типа на очакваното изключение

Прочетете още

   Сортиране на масиви в Java

Сортиране на масиви в Java

1. Общ преглед В този урок ще обсъдим общи методи за сортиране на масиви във възходящ и низходящ ред. Ще разгледаме използването на метода за сортиране на клас Arrays на Java, както и внедряването на наш собствен Comparator за подреждане на стойностите на нашите масиви. 2. Определения на обекти Преди да започнем, нека бързо дефинираме няколко масива, които ще сортираме в този урок. Първо ще създадем масив от ints и масив от низове: int[] numbers = new int[] { -8,

Прочетете още

   Интерфейси на маркери в Java

Интерфейси на маркери в Java

1. Въведение В този бърз урок ще научим за интерфейсите на маркери в Java. 2. Интерфейси на маркери Интерфейсът на маркер е интерфейс, който няма методи или константи вътре . Той предоставя информация за типа изпълнение за обекти , така че компилаторът и JVM имат допълнителна информация за обекта . Интерфе

Прочетете още

   JVM Колектори за боклук

JVM Колектори за боклук

1. Общ преглед В този бърз урок ще покажем основите на различните изпълнения на JVM Garbage Collection (GC) . Освен това ще разберем как да активираме определен тип Събиране на боклук в нашите приложения. 2. Кратко въведение в събирането на боклука От името изглежда, че Garbage Collection се занимава с намирането и изтриването на боклука от п

Прочетете още

   Ръководство за Java Profilers

Ръководство за Java Profilers

1. Общ преглед Понякога писането на код, който просто се изпълнява, не е достатъчно. Може да искаме да знаем какво се случва вътрешно, като например как се разпределя паметта, последиците от използването на един подход за кодиране над друг, последици от едновременното изпълнение, области за подобряване на производителността и т.н. Java Profiler е инструмент, който наблюдава Java байтовите конструкции и операции на ниво JVM . Тези кодови конструкции и операции включват създаване на обекти, итеративни изпълнения (включително рекурсивни извиквания), изпълнения на методи, изпълнения на нишки и кол

Прочетете още

   @ Планираната анотация през пролетта

@ Планираната анотация през пролетта

1. Общ преглед В този урок ще илюстрираме как анотацията Spring @Scheduled може да се използва за конфигуриране и планиране на задачи. Простите правила, които трябва да спазваме, за да анотираме метод с @Scheduled, са: методът трябва да има тип void return методът не трябва да приема никакви параметри 2. Активирайте поддръжка за планиране За да активираме поддръжка за задачи за планиране и анотацията @Scheduled през пролетта, можем да използваме анотацията в стила за активиране на Java: @Configuration @Enable

Прочетете още

   Намерете сума и средно в Java масив

Намерете сума и средно в Java масив

1. Въведение В този бърз урок ще разгледаме как можем да изчислим сумата и средната стойност в масив, използвайки както стандартните цикли на Java, така и Stream API. 2. Намерете сума от елементи на масива 2.1. Сума с помощта на For Loop За да намерим сумата на всички елементи в масив, можем просто да итерираме масива и да добавим всеки елемент към натрупв

Прочетете още

   Въпроси за интервю за съвпадение на Java (+ отговори)

Въпроси за интервю за съвпадение на Java (+ отговори)

Тази статия е част от поредица: • Въпроси за интервю за Java Collections • Въпроси за интервю за система тип Java • Въпроси за интервю за съвпадение на Java (+ отговори) (текуща статия) • Структура на Java клас и въпроси за интервю за инициализация • Въпроси за интервю за Java 8 (+ отговори) • Управление на паметта в Java Интервю въпроси (+ отговори) • Въпроси за интервю за Java Generics (+ отговори) • Въпроси за интервю за Java Flow Control (+ отговори) • Въпроси за интервю за Java Exceptions (+ отговори) • Въпроси за интервю за Java Annotations (+ отговори) • Топ пролетни въпроси за

Прочетете още

   Разбиране на NumberFormatException в Java

Разбиране на NumberFormatException в Java

1. Въведение Java хвърля NumberFormatException - непроверено изключение - когато не може да преобразува String в числов тип. Тъй като е отметнато, Java не ни принуждава да го обработваме или декларираме. В този бърз урок ще опишем и покажем какво причинява NumberFormatException в Java и как да го избегнем или да се справим с него .

Прочетете още

   Добавяне на елемент към Java Array срещу ArrayList

Добавяне на елемент към Java Array срещу ArrayList

1. Общ преглед В този урок ще разгледаме накратко приликите и различията в разпределението на паметта между масивите на Java и стандартния ArrayList . Освен това ще видим как да добавяме и вмъкваме елементи в масив и ArrayList . 2. Java масиви и ArrayList Масивът на Java е основна структура от данни, предоставена от езика. За разлика от ArrayList е реализация на Списък интерфейс подкрепе

Прочетете още

   Анотации на Spring's RequestBody и ResponseBody

Анотации на Spring's RequestBody и ResponseBody

1. Въведение В този бърз урок ние предоставяме кратък преглед на анотациите Spring @RequestBody и @ResponseBody . 2. @RequestBody Казано по-просто, по @RequestBody анотацията очертава HttpRequest тялото на прехвърляне или домейн обект, което дава възможност за автоматично deserialization на входящия HttpRequest тялото върху обект Java. Първо, нека да разгледаме метода на Spring контролер: @PostMapping("/request") public ResponseEntity postController( @RequestBody LoginForm loginForm) { exampleService.fakeAuthenticate(

Прочетете още

   Широко-първи алгоритъм за търсене в Java

Широко-първи алгоритъм за търсене в Java

1. Общ преглед В този урок ще научим за алгоритъма за първо търсене на ширина, който ни позволява да търсим възел в дърво или графика, като пътуваме през техните възли първо на ширина, а не на дълбочина. Първо, ще преминем през малко теория за този алгоритъм за дървета и графики. След това ще се потопим в реализациите на алгоритмите в Java. Накрая ще разгледаме

Прочетете още

   Дълбочина Първо търсене в Java

Дълбочина Първо търсене в Java

1. Общ преглед В този урок ще проучим търсенето с дълбочина първо в Java. Търсенето с дълбочина първо (DFS) е алгоритъм за обхождане, използван както за структурите на данни за дърво, така и за графика. Търсенето с дълбочина първо се задълбочава във всеки клон, преди да се премести да изследва друг клон . В следващите раздели първо ще разгледаме изпълн

Прочетете още

   Bootstrapping Hibernate 5 с Spring

Bootstrapping Hibernate 5 с Spring

1. Общ преглед В тази статия ще обсъдим как да заредим Hibernate 5 с Spring , използвайки Java и XML конфигурация. Тази статия се фокусира върху Spring MVC. Нашата статия Spring Boot с Hibernate описва как да използвате Hibernate в Spring Boot. 2. Пролетна интеграция Стартирането на SessionFactory с естествения Hibernate API е малко сложно и би ни отнело немалко редо

Прочетете още

   Извикване на SOAP уеб услуга в Java

Извикване на SOAP уеб услуга в Java

1. Общ преглед В този урок ще научим как да изградим SOAP клиент в Java с JAX-WS RI . Първо ще генерираме клиентския код с помощта на помощната програма wsimport и след това ще го тестваме с помощта на JUnit. За тези, които започват, нашето въведение в JAX-WS предоставя чудесен опит по темата. 2. Уеб услугата Преди да започнем да изграждам

Прочетете още

   Кратко ръководство за Java StringTokenizer

Кратко ръководство за Java StringTokenizer

1. Общ преглед В тази бърза статия ще разгледаме основен клас в Java - StringTokenizer . 2. StringTokenizer В StringTokenizer класа ни помага да се раздели Strings в множество символи. StreamTokenizer предоставя подобна функционалност, но методът на токенизация е много по-прост от този, използван от класа StreamTokenizer . Методите на StringTokenizer не правят разлика между идентификатори, числа и цитирани низове, нито разпознават и пропускат коментари. Наборът от разделители (символите, които разд

Прочетете още

   Ръководство за създаване и стартиране на Jar файл в Java

Ръководство за създаване и стартиране на Jar файл в Java

1. Общ преглед Обикновено е удобно да групирате много файлове от клас Java в един архивен файл. В този урок ще разгледаме тънкостите при работата с jar - или J ava AR chive - файлове в Java. По-конкретно, ще вземем просто приложение и ще проучим различни начини за пакетиране и стартиране като буркан. Също така ще

Прочетете още

   Обръщане на свързан списък в Java

Обръщане на свързан списък в Java

1. Въведение В този урок ще внедрим два свързани алгоритма за обръщане на списъци в Java. 2. Структура на данните от свързания списък Свързаният списък е линейна структура от данни, при която указател във всеки елемент определя реда. Всеки елемент от свързан списък съдържа поле за данни за съхраняване на данните от списъка и поле за указател, което да сочи към следващия елемент в последователността. Също така можем

Прочетете още

   ClassNotFoundException срещу NoClassDefFoundError

ClassNotFoundException срещу NoClassDefFoundError

1. Въведение И ClassNotFoundException, и NoClassDefFoundError възникват, когато JVM не може да намери заявен клас в пътя на класа. Въпреки че изглеждат познати, има някои основни разлики между тези две. В този урок ще обсъдим някои от причините за възникването им и техните решения. 2. ClassNotFoundException ClassNotFou

Прочетете още

   Неизменяеми обекти в Java

Неизменяеми обекти в Java

1. Общ преглед В този урок ще научим какво прави обекта неизменим, как да постигнем неизменност в Java и какви предимства идват при това. 2. Какво представлява неизменяем обект? Неизменим обект е обект, чието вътрешно състояние остава постоянно, след като е изцяло създадено . Това означава, че публичният API на

Прочетете още

   Анотация на пролетта @RequestParam

Анотация на пролетта @RequestParam

1. Общ преглед В този бърз урок ще изследваме анотацията @RequestParam на Spring и нейните атрибути. Най-просто казано, можем да използваме @RequestParam за извличане на параметри на заявката, параметри на формуляри и дори файлове от заявката. 2. Просто картографиране Да кажем, че имаме крайна точка / api / foos, която приема параметър на заявката, наречен id : @GetMapping("/api/foos") @ResponseBody public

Прочетете още

   Работа с карти с помощта на потоци

Работа с карти с помощта на потоци

1. Въведение В този урок ще обсъдим няколко примера за използване на Java Stream sза работа с Map s. Струва си да се отбележи, че някои от тези упражнения могат да бъдат решени с помощта на двупосочна структура от данни на картата , но тук се интересуваме от функционален подход. Първо, ние обясняваме основната идея, която ще използваме за работа с Maps и Stream s. След това представяме няколко различни проблема, свързани с Карти и техните конкретни решения с помощта на Stream s. 2.

Прочетете още

   Пролетни основни анотации

Пролетни основни анотации

Тази статия е част от поредица: • Spring Core Annotations (текуща статия) • Spring Web Annotations • Анотации на пролетното зареждане • Анотации за пролетно планиране • Пролетни анотации на данни • Анотации на пролетен боб 1. Общ преглед Можем да използваме възможностите на Spring DI двигателя, като използваме анотациите в пакетите org.springframework.beans.factory.annot

Прочетете още

   Сортиране на селекция в Java

Сортиране на селекция в Java

1. Въведение В този урок ще научим Selection Sort , ще видим изпълнението му в Java и ще анализираме неговата ефективност. 2. Преглед на алгоритъма Selection Sort започва с елемента в 1-ва позиция на несортиран масив и сканира през следващите елементи, за да намери най-малкия елемент . След като бъде намерен, най-малкият елемент се разменя с елемента на 1-ва позиция. След това алгоритъмът преминава към елемента на 2-ра позиция и сканира през следващите елементи, за да намери инде

Прочетете още

   Въведение в Java Primitive

Въведение в Java Primitive

1. Общ преглед Езикът за програмиране Java включва осем примитивни типа данни. В тази статия ще си припомним какво са примитивите и ще преминем към тях. 2. Примитивни типове данни Осемте примитиви, дефинирани в Java, са int , byte , short , long , float , double , boolean и char - те не се считат за обекти и представляват сурови стойности. Те се съхраняват директно в стека (вижте тази статия за повече информация относно управлението на паметта в Java). Нека да разгледаме размера на хранилището, стойностите по подразбиране и примери за това как да изпо

Прочетете още

   MD5 хеширане в Java

MD5 хеширане в Java

Java Top Току що обявих новия курс Learn Spring , фокусиран върху основите на Spring 5 и Spring Boot 2: >> ПРЕГЛЕД НА КУРСА 1. Общ преглед MD5 е широко използвана криптографска хеш функция, която произвежда хеш от 128 бита. В тази статия ще видим различни подходи за създаване на MD5 хешове с помощта на различни Java библиотеки . 2. MD5 Използване на кла

Прочетете още

   Сравняване на обекти в Java

Сравняване на обекти в Java

1. Въведение Сравняването на обекти е съществена характеристика на обектно-ориентираните програмни езици. В този урок ще разгледаме някои от характеристиките на езика Java, които ни позволяват да сравняваме обекти. Освен това ще разгледаме такива функции във външни библиотеки. 2. == и ! = Оператори Нека започнем с операторите == и ! =, Които могат да разберат дали два Java обекта са ед

Прочетете още

   Изпращане на имейли с Java

Изпращане на имейли с Java

1. Общ преглед В този бърз урок ще разгледаме изпращането на имейл със и без прикачени файлове - използвайки основната Java пощенска библиотека. 2. Настройка и зависимост на проекта За тази статия ще използваме прост проект, базиран на Maven, с зависимост от пощенската библиотека на Java: javax.mail mail 1.5.0-b01 Най-новата версия можете да намерите тук. 3. Изпращане на обикновен текст и HTML имейл Първо, трябва да конфигурираме библиотеката с идентификационните данни на нашия доставчик на имейл услуги. След

Прочетете още

   Свойства с Spring и Spring Boot

Свойства с Spring и Spring Boot

1. Общ преглед Този урок ще покаже как да настроите и използвате свойства през Spring чрез Java конфигурация и @PropertySource. Ще видим и как работят свойствата в Spring Boot. 2. Регистрирайте файл със свойства чрез анотации Spring 3.1 също представя новата анотация @PropertySource като удобен механизъм за добавяне на източници на свойства към околната среда. Можем да използваме

Прочетете още

   Ръководство за Java Reflection

Ръководство за Java Reflection

1. Общ преглед В тази статия ще изследваме отражението на Java, което ни позволява да инспектираме и / или да модифицираме атрибутите по време на изпълнение на класове, интерфейси, полета и методи. Това е особено полезно, когато не знаем имената им по време на компилация. Освен това можем да създадем екземпляр на нови обекти, да извикаме методи и да

Прочетете още

   JAX-RS е просто API!

JAX-RS е просто API!

1. Общ преглед Парадигмата REST съществува от доста години и все още привлича много внимание. API RESTful може да бъде реализиран в Java по няколко начина: можете да използвате Spring, JAX-RS или просто да напишете собствените си голи сървлети, ако сте достатъчно добри и смели. Всичко, от което се нуждаете, е възможността за излагане на HTTP методи - останалото е свързано с това как ги организирате и как насочвате клиента при извършване на обаждания към вашия API. Както

Прочетете още

   Изпълним срещу извикващ се в Java

Изпълним срещу извикващ се в Java

1. Общ преглед От ранните дни на Java, многопоточността е основен аспект на езика. Runnable е основният интерфейс, предоставен за представяне на многонишкови задачи, а Callable е подобрена версия на Runnable , добавена в Java 1.5. В тази статия ще изследваме разликите и приложенията на двата интерфейса. 2. Механизъм за изпълнение И двата интерфейса са проектирани да представ

Прочетете още

   Хибернация: запазване, персистиране, актуализиране, обединяване, saveOrUpdate

Хибернация: запазване, персистиране, актуализиране, обединяване, saveOrUpdate

1. Въведение В тази статия ще обсъдим разликите между няколко метода на интерфейса на сесията : save , persist , update , merge , saveOrUpdate . Това не е въведение в Hibernate и вече трябва да знаете основите на конфигурацията, обектно-релационното картографиране и работата с екземпляри на обекти. За уводна статия за Hibernate, посетете нашия урок за Hibernate 4 с Spring. 2. Сесията като изпълнение на контекста на постоянство Интерфейсът на сесията има няколко метода, които в крайна сметка

Прочетете още

   Методът на заявката не се поддържа (405) през пролетта

Методът на заявката не се поддържа (405) през пролетта

1. Общ преглед Тази бърза статия е фокусирана върху често срещана грешка - „Метод на заявка не се поддържа - 405“ - с която разработчиците се сблъскват, докато излагат своите API за конкретни HTTP глаголи, с Spring MVC. Естествено, ще обсъдим и често срещаните причини за тази грешка. 2. Основи на метода на заявката Преди да преминете към често срещания проблем, ако тепър

Прочетете още

   Разлика между две дати в Java

Разлика между две дати в Java

1. Общ преглед В това бързо писане ще проучим множество възможности за изчисляване на разликата между две дати в Java. 2. Основна Java 2.1. Използване на java.util.Date за намиране на разликата в дни Нека започнем с използването на основните Java API, за да направим изчислението и да определим броя на дните между двете дати: @Test public void givenTwoDatesBeforeJava8_whenDifferentiating_thenWeGetSix() throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH); Date firstDate = sdf.parse("06/24/2017"); Date secondDate = sdf.parse("06/30/2017"); long dif

Прочетете още

   Ръководство за TreeSet в Java

Ръководство за TreeSet в Java

1. Общ преглед В тази статия ще разгледаме неразделна част от Java Collections Framework и една от най-популярните реализации на Set - TreeSet . 2. Въведение в TreeSet Най-просто казано, TreeSet е сортирана колекция, която разширява класа AbstractSet и реализира интерфейса NavigableSet . Ето кратко обобщение на най-важните аспекти на това изпълнение: Съхранява уникални елементи Той не запазва реда на вмъкване на елементите Той сортира елемент

Прочетете още

   Пролетен вход за формуляр за сигурност

Пролетен вход за формуляр за сигурност

1. Въведение Тази статия ще се фокусира върху Вход с Spring Security . Ще изградим върху простия предишен пример за MVC Spring, тъй като това е необходима част от настройката на уеб приложението заедно с механизма за вход. 2. Зависимостите на Maven Когато работите с Spring Boot, spring-boot-starter-security starter автоматично ще включва всички зависимости, като например spr

Прочетете още