Взаимоотношения „един към един” в JPA

Взаимоотношения „един към един” в JPA

1. Въведение В този урок ще разгледаме различните начини за създаване на едно към едно съпоставяне в JPA. Ще ни трябва основно разбиране за рамката за хибернация, така че, моля, разгледайте нашето Ръководство за хибернация 5 с пролет за допълнителен фон. 2. Описание Да предположим, че изграждаме система за управление на потребителите и нашият шеф ни моли да съхраняваме пощенски адрес за всеки потребител. Потребителят ще има един пощенски адрес, а поще

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

   Ant срещу Maven срещу Gradle

Ant срещу Maven срещу Gradle

Тази статия е част от поредица: • Въведение в Gradle • Ant срещу Maven срещу Gradle (текуща статия) • Писане на потребителски приставки Gradle • Създаване на дебел буркан в Gradle 1. Въведение В тази статия ще изследваме три инструмента за автоматизация на изграждането на Java, които доминират в ек

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

   Окабеляване през пролетта: @Autowired, @Resource и @Inject

Окабеляване през пролетта: @Autowired, @Resource и @Inject

1. Общ преглед Тази статия от Spring Framework ще демонстрира използването на пояснения, свързани с инжектирането на зависимости, а именно поясненията @Resource , @Inject и @Autowired . Тези пояснения предоставят на класовете декларативен начин за разрешаване на зависимости. Например: @Autowired ArbitraryClass arbObject; за разлика от директното им създаване на пример (императивният начин), например: ArbitraryClass arbObject = new ArbitraryClass(); Две от т

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

   Как да убиете Java нишка

Как да убиете Java нишка

1. Въведение В тази кратка статия ще разгледаме спирането на нишка в Java - което не е толкова просто, тъй като методът Thread.stop () е остарял. Както е обяснено в тази актуализация от Oracle, stop () може да доведе до повредени наблюдавани обекти. 2. Използване на флаг Нека започнем с клас, който създава и стартира нишка. Тази задача няма да завърши сама, затова се нуждаем от някакъв начин да спрем тази нишка. З

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

   Създаване на персонализирана анотация в Java

Създаване на персонализирана анотация в Java

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

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

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

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

1. Въведение В тази бърза статия ще разгледаме как да конвертираме списък с елементи в низ . Това може да е полезно в определени сценарии, като отпечатване на съдържанието на конзолата в удобна за четене форма за проверка / отстраняване на грешки. 2. Стандартно toString () в списък Един от най-простите начини е просто да извикате метода toString () от списъка : @Test public void whenListToString_thenPrintDefault() { List intLIst = Arrays.as

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

   Ръководство за кодиране / декодиране на URL адреси в Java

Ръководство за кодиране / декодиране на URL адреси в Java

1. Въведение Най-просто казано, URL кодирането превежда специални символи от URL адреса в представяне, което се придържа към спецификацията и може да бъде правилно разбрано и интерпретирано. В тази статия ще се съсредоточим върху това как да кодираме / декодираме URL или данните от формуляра, така че той да се придържа към спецификацията и

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

   Въведение в JAX-WS

Въведение в JAX-WS

1. Общ преглед Java API за XML уеб услуги (JAX-WS) е стандартизиран API за създаване и консумиране на SOAP (Simple Object Access Protocol) уеб услуги. В тази статия ще създадем SOAP уеб услуга и ще се свържем с нея с помощта на JAX-WS. 2. САПУН SOAP е XML спецификация за изпращане на съобщения през мрежа. SOAP съобщенията са независими от всяка операционна

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

   Как да коригирам java.lang.UnsupportedClassVersionError

Как да коригирам java.lang.UnsupportedClassVersionError

1. Въведение В този кратък урок ще научим какво причинява грешката при изпълнение на Java java.lang.UnsupportedClassVersionError: Неподдържана версия major.minor и как да я поправим. 2. Поглед към грешката Нека започнем с разглеждането на примерна грешка: Exception in thread "main" java.lang.UnsupportedClassVersionError: com/baeldung/MajorMinorApp has been compiled by a more recent version of the Java Runtime (class file version 55.0), this vers

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

   Прикачване на стойности към Java Enum

Прикачване на стойности към Java Enum

1. Въведение Типът на изброяването на Java предоставя поддържан от езика начин за създаване и използване на константи. Чрез дефиниране на краен набор от стойности, enum е по-безопасен за типа от постоянните променливи в литерала като String или int . Стойностите на изброяването обаче се изискват, за да бъдат валидни идентификатори и се насърчаваме да използваме SCREAMING_SNAKE_CASE по конвенция. Като се има предвид тези ограничения,

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

   Урок за Apache Maven

Урок за Apache Maven

1. Въведение Изграждането на софтуерен проект обикновено се състои от такива задачи като изтегляне на зависимости, поставяне на допълнителни буркани на пътя на класа, компилиране на изходния код в двоичен код, провеждане на тестове, опаковане на компилиран код в разгръщащи се артефакти като JAR, WAR и ZIP файлове и разполагане на тези артефакти към сървър на приложения или хранилище. Apache Maven автоматизира тези задачи, като свежда до минимум риска от грешки на хората, като същевременно ръчно изгражда софтуера и разделя работата по компилиране и опаковане на нашия код от тази при изгражданет

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

   Брой цифри в цяло число в Java

Брой цифри в цяло число в Java

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

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

   Начини за итерация над списък в Java

Начини за итерация над списък в Java

1. Въведение Итерацията над елементите на списък е една от най-често срещаните задачи в програмата. В този урок ще разгледаме различни начини за това в Java. Ще се съсредоточим върху итерирането на списъка по ред, макар че и обратното е просто. 2. за Loop Първо, нека да разгледаме някои за опции за цикъл. Нека започнем с дефиниране на списък с държави за нашите примери: List countries = Arrays.asList("Germany", "Panama", "Austral

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

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

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

1. Общ преглед В тази статия ще научим за бъдещето . Интерфейс, който съществува от Java 1.5 и може да бъде доста полезен при работа с асинхронни обаждания и едновременна обработка. 2. Създаване на фючърси Просто казано, класът Future представлява бъдещ резултат от асинхронно изчисление - резултат, който в крайна сме

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

   Преглед на типовете JPA / Hibernate Cascade

Преглед на типовете JPA / Hibernate Cascade

1. Въведение В този урок ще обсъдим какво представлява каскадирането в JPA / Hibernate. След това ще разгледаме различните налични каскадни типове, заедно с тяхната семантика. 2. Какво е каскадно? Взаимоотношенията между субектите често зависят от съществуването на друг обект - например връзката Лице - А

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

   Статични и стандартни методи в интерфейси в Java

Статични и стандартни методи в интерфейси в Java

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

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

   Четене и записване на потребителски вход в Java

Четене и записване на потребителски вход в Java

1. Въведение В този бърз урок ще демонстрираме няколко начина за използване на конзола за въвеждане и извеждане от потребителя в Java . Ще разгледаме няколко метода от класа Scanner за обработка на въвеждане и след това ще покажем няколко прости изхода с помощта на System.out . И накрая, ще видим как да използваме класа Console , достъпен от Java 6, както за конзолен вход, така и за изход. 2. Четене от System.in За първите ни примери ще използваме класа Scanner в пакета ja

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

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

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

1. Въведение В тази статия ще се съсредоточим върху практично въведение в Spring Batch, фокусирано върху кода. Spring Batch е рамка за обработка, предназначена за стабилно изпълнение на задачите. Това е текущата версия 3.0, която поддържа Spring 4 и Java 8. Той също така побира JSR-352, което е нова спецификация на Java за групова

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

   Разбиране на изтичане на памет в Java

Разбиране на изтичане на памет в Java

1. Въведение Едно от основните предимства на Java е автоматизираното управление на паметта с помощта на вградения Garbage Collector (или GC за кратко). GC имплицитно се грижи за разпределянето и освобождаването на паметта и по този начин е в състояние да се справи с повечето проблеми с изтичането на памет. Въпреки че GC ефективно обработва добра част от паметта, това не гарантира надеждно решение за изтичане на памет. GC е доста умен, но не и безупречен. Течовете на паметта все още могат да се промъкнат дори в приложения на съве

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

   Ръководство за Cron изрази

Ръководство за Cron изрази

1. Общ преглед Просто казано, cron е основна помощна програма, достъпна в Unix-базирани системи. Позволява на потребителите да планират периодично изпълнение на задачи на определена дата / час. И, естествено, това е чудесен инструмент за автоматизиране на много процеси, които иначе биха изисквали човешка намеса. Cron работи като демонен про

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

   Проверени и непроверени изключения в Java

Проверени и непроверени изключения в Java

1. Общ преглед Изключенията на Java се разделят на две основни категории: проверени изключения и непроверени изключения . В тази статия ще предоставим няколко примерни кода за това как да ги използваме. 2. Проверени изключения По принцип проверените изключения представляват грешки извън контрола на програмата. Например конструкторът на FileInputStream изхвърля

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

   Намиране на най-големия общ делител в Java

Намиране на най-големия общ делител в Java

1. Общ преглед В математиката GCD на две цели числа, които са ненулеви, е най-голямото положително цяло число, което разделя равномерно всяко от целите числа. В този урок ще разгледаме три подхода за намиране на най-големия общ делител (GCD) на две цели числа. Освен това ще разгледаме тяхното изпълнение в Java. 2. Груба сила За нашия първи подход итерираме от 1 до най-малкото дадено число и проверяваме дали дадените цели числа се делят на индекса. Най-гол

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

   Ръководство за завършимо бъдеще

Ръководство за завършимо бъдеще

1. Въведение Този урок е ръководство за функционалността и случаите на използване на класа CompletableFuture, който е въведен като подобрение на API 8 за паралелна приложимост Java 8. 2. Асинхронно изчисление в Java Асинхронното изчисление е трудно да се разсъждава. Обикновено искаме да разглеждаме всяко и

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

   Кратко ръководство за обхват на пролетния боб

Кратко ръководство за обхват на пролетния боб

1. Общ преглед В този бърз урок ще научите за различните видове обхват на зърна в рамките на Spring. Обхватът на бобът определя жизнения цикъл и видимостта на този боб в контекста, в който се използва. Последната версия на Spring framework определя 6 вида обхвати: сингълтон прототип заявка сесия приложение уебсайт Последните четири обхвата, п

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

   Избягвайте проверка за нулева декларация в Java

Избягвайте проверка за нулева декларация в Java

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

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

   Задвижващ механизъм за пружинно зареждане

Задвижващ механизъм за пружинно зареждане

1. Общ преглед В тази статия представяме Spring Boot Actuator. Първо ще разгледаме основите, след това ще обсъдим подробно какво се предлага в Spring Boot 2.x срещу 1.x. Ще научим как да използваме, конфигурираме и разширяваме този инструмент за наблюдение в Spring Boot 2.x и WebFlux, като се възползваме от модела за реактивно програмиране. След това ще обсъдим как да направим същото с Boot 1.x. Spring Boot Actuator се предлага от април 2014 г.,

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

   Хибернация на кеш от второ ниво

Хибернация на кеш от второ ниво

1. Общ преглед Едно от предимствата на слоевете за абстракция на база данни, като ORM (обектно-релационно картографиране) рамки, е способността им да кешират прозрачно данните, извлечени от основното хранилище. Това помага да се елиминират разходите за достъп до база данни за често достъпвани данни. Повишаването на производителността може да бъде значително, ако съотношенията

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

   Добавете символ към низ в дадена позиция

Добавете символ към низ в дадена позиция

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

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

   Въведение в Java сървлетите

Въведение в Java сървлетите

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

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

   JSON в Java

JSON в Java

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

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

   Претоварване и заместване на метода в Java

Претоварване и заместване на метода в Java

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

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

   Първи стъпки с Java Properties

Първи стъпки с Java Properties

1. Общ преглед Повечето приложения на Java трябва да използват свойства в даден момент, обикновено за съхраняване на прости параметри като двойки ключ-стойност, извън компилирания код. И така, езикът има първокласна поддръжка за свойства - java.util.Properties - полезен клас, предназначен за работа с този тип конфигурационни файло

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

   Лесно ръководство за обединяване на връзки в Java

Лесно ръководство за обединяване на връзки в Java

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

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

   Основи за проверка на Java Bean

Основи за проверка на Java Bean

1. Общ преглед В този бърз урок ние обхващаме основите на валидирането на Java боб със стандартната рамка - JSR 380, известна също като Bean Validation 2.0 . Проверката на въведеното от потребителя е супер често срещано изискване в повечето приложения. И рамката за проверка на Java Bean се превърна в де факто стандарт за работа с този вид логика. 2. JSR 380 JSR 380 е спецификация на Java API за валидиране на боб, част от Jaka

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

   Използване на оператора Not Not в условията If в Java

Използване на оператора Not Not в условията If в Java

1. Въведение В инструкциите if-else на Java можем да предприемем определено действие, когато изразът е истина , и алтернатива, когато е невярно . В този урок ще научим как да обърнем логиката с помощта на оператора not . 2. ако-друго S tatement Нека започнем с едно просто изказване if-else : boolean isValid = true; if (isValid) { System.out.println("Valid"); } else { System.ou

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

   Тествайте REST API с curl

Тествайте REST API с curl

1. Общ преглед Този урок дава кратък преглед на тестването на REST API с помощта на curl. curl е инструмент за команден ред за прехвърляне на данни и поддържа около 22 протокола, включително HTTP. Тази комбинация го прави много добър ad-hoc инструмент за тестване на нашите REST услуги. 2. Опции на командния ред curl поддържа над

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

   Преобразуване на дата в LocalDate или LocalDateTime и обратно

Преобразуване на дата в LocalDate или LocalDateTime и обратно

1. Общ преглед Започвайки с Java 8, имаме нов API за дата: java.time . Понякога обаче все пак трябва да извършим преобразувания между новия и стария API и да работим с представяне на дати и от двете. 2. Преобразуване на java.util.Date в java.time.LocalDate Нека започнем с преобразуване на старото представяне на дата в новото. Тук м

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

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

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

1. Общ преглед В тази статия ще проучим с какво може да ни помогне анотацията @Qualifier , кои проблеми решава и как да я използваме. Също така ще обясним как се различава от анотацията @Primary и от автоматичното свързване по име. 2. Необходимост от автоматично свързване на кабели за двузначност В @Autowired анотацията е чудесен начин за печелене на необходимостта да се придаде на зависимостта

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

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

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

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

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

   Въведение в използването на мащерка през пролетта

Въведение в използването на мащерка през пролетта

1. Въведение Thymeleaf е Java шаблонна машина за обработка и създаване на HTML, XML, JavaScript, CSS и текст. В тази статия ще обсъдим как да използваме Thymeleaf с Spring заедно с някои основни случаи на използване в слоя за изглед на приложението Spring MVC. Библиотеката е изключително разширяема и нейната естествена възможност за шаблониране гарантира, че шаблоните могат да бъдат прототипирани без back-end

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

   Абстрактни фабрични модели в Java

Абстрактни фабрични модели в Java

1. Общ преглед В тази статия ще обсъдим дизайна на абстрактния завод. Книгата Design Patterns: Elements of Reusable Object-Oriented Software гласи, че Abstract Factory „предоставя интерфейс за създаване на семейства от свързани или зависими обекти, без да се посочват техните конкретни класове“. С други думи, този модел ни позволява да създаваме обекти, които следват общ модел. Пример за шаблона за дизайн на абстрактна фабрика в JDK е newInstance () на класа javax.xml.p

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

   Как да копирате файл с Java

Как да копирате файл с Java

1. Общ преглед В тази статия ще разгледаме често срещаните начини за копиране на файлове в Java. Първо ще използваме стандартните API за IO и NIO.2 и две външни библиотеки: commons-io и guava. 2. IO API (преди JDK7) На първо място, за да копираме файл с API на java.io , от нас се изисква да отворим поток, да премин

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

   Разделете низ в Java

Разделете низ в Java

1. Въведение Разделянето на струни е много честа операция; този бърз урок е фокусиран върху някои от API, които можем да използваме, за да направим това просто в Java. 2. String.split () Нека започнем с основната библиотека - самият клас String предлага метод split () - който е много удобен и достатъче

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

   Структурата на данни Trie в Java

Структурата на данни Trie в Java

1. Общ преглед Структурите на данните представляват решаващ актив в компютърното програмиране и знанието кога и защо да ги използваме е много важно. Тази статия е кратко въведение в trie (произнася се „опитайте“) структура на данните, нейното изпълнение и анализ на сложността. 2. Трие Trie е дискретна структура от данни, която не е добре позната или широко споменавана в типичните курсове по алгоритми, но въпреки това е важна. Трие (известно още като цифрово дърво), а понякога дори и дърво радикс

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

   Пролет с Мейвън

Пролет с Мейвън

Съдържание Общ преглед Основни пролетни зависимости с Maven Пролетна упоритост с Мейвън Пролетен MVC с Maven Пролетна сигурност с Maven Пролетен тест с Maven Използване на етапи Използване на снимки Заключение 1. Общ преглед Този урок илюстрира как да настроите пролетните зависимости чрез Maven . Най-новите пролетни версии могат да бъдат намерени в Maven Central.

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

   Кратко ръководство за Spring @Value

Кратко ръководство за Spring @Value

1. Общ преглед В този бърз урок ще разгледаме анотацията @Value Spring. Тази анотация може да се използва за инжектиране на стойности в полета в управлявани от Spring компоненти и може да се приложи на ниво поле или конструктор / параметър на метода. 2. Настройка на приложението За да опишем различни видове използване на тази анотация, трябва да конфигурираме прост клас за конфигуриране на приложение Spring. Естествено, ще ни тр

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

   Състав, агрегиране и асоцииране в Java

Състав, агрегиране и асоцииране в Java

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

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

   Проверете дали два низа са анаграми в Java

Проверете дали два низа са анаграми в Java

1. Общ преглед Според Уикипедия анаграмата е дума или фраза, образувана чрез пренареждане на буквите на различна дума или фраза. Можем да обобщим това при обработка на низове, като кажем, че анаграма на низ е друг низ с точно същото количество от всеки символ в него, в произволен ред . В този урок ще разгледаме откриването на цели низграми, където количеството на всеки знак трябва да бъде равно, включително неалфа знаци като интервали и цифри. Например „! С ниско съдържание на сол!“ и „сови-лат !!“ ще се счит

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

   Java паралелност

Java паралелност

Основи на паралелната Java Преглед на java.util.concurrent Ръководство за синхронизираната ключова дума в Java Ръководство за летливата ключова дума в Java Ръководство за java.util.concurrent.Future Въведение в ThreadLocal в Java Жизнен цикъл на нишка в Java Как да убиете Java нишка

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

   Премахнете или заменете част от низ в Java

Премахнете или заменете част от низ в Java

1. Общ преглед В този урок ще разгледаме различни средства, чрез които можем да премахнем или заменим част от String в Java. Ще проучим премахването и / или подмяната на подниз с помощта на String API, след това с помощта на StringBuilder API и накрая с помощта на класа StringUtils на библиотеката Apache Commons. Като бонус ще разгледаме и замяната на точна дума, използвайки String API и клас Apache Commons RegExUtils . 2. API за низове Един от най-простите и ясни методи за замяна на подниз е използва

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

   Въведение в алгоритъма Minimax с внедряване на Java

Въведение в алгоритъма Minimax с внедряване на Java

1. Общ преглед В тази статия ще обсъдим алгоритъма Minimax и неговите приложения в AI. Тъй като това е алгоритъм за теория на игрите, ще внедрим проста игра, използвайки го. Също така ще обсъдим предимствата на използването на алгоритъма и ще видим как той може да бъде подобрен. 2. Въведение Minima

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

   Тестване в Spring Boot

Тестване в Spring Boot

1. Общ преглед В този урок ще разгледаме тестовете за писане с помощта на рамковата поддръжка в Spring Boot. Ще разгледаме модулни тестове, които могат да се изпълняват изолирано, както и интеграционни тестове, които ще стартират Spring Spring контекста преди изпълнението на тестовете. Ако сте нов в Spring Boot, разгледайте нашето въведение в Spring Boot. 2. Настройка на проекта Приложението, което ще използваме в тази статия, е API, който предоставя някои основни операции на ресурс на служите

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

   BigDecimal и BigInteger в Java

BigDecimal и BigInteger в Java

1. Общ преглед В този урок ще демонстрираме класовете BigDecimal и BigInteger . Ще опишем двата типа данни, техните характеристики и сценарии за тяхното използване. Също така ще разгледаме накратко различните операции, използвайки двата класа. 2. BigDecimal BigDecimal представлява неизменяемо десетично число с произволна точност . Състои се от две части: Немащабирана стойност - цяло число с произволна точност Мащаб

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

   Ръководство за рамката Fork / Join в Java

Ръководство за рамката Fork / Join в Java

1. Общ преглед Рамката fork / join беше представена в Java 7. Тя предоставя инструменти, които да спомогнат за ускоряване на паралелната обработка, като се опитва да използва всички налични процесорни ядра - което се постига чрез подход разделяне и завладяване . На практика това означава, че рамката първо се „разклонява“ , рекурсивно разбивайки задачата на по-малки независими подзадачи, докато те са достатъчно прости, за да бъдат изпълнени асинхронно. След

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

   Практически примери на Java за нотификацията Big O

Практически примери на Java за нотификацията Big O

1. Общ преглед В този урок ще говорим за това какво означава Big O Notation. Ще разгледаме няколко примера, за да проучим ефекта му върху времето за работа на вашия код. 2. Интуицията на Big O Notation Често чуваме работата на алгоритъм, описан с помощта на Big O Notation. Изследването на ефективността на алгоритмите - или алгоритмичната сложност - попада в областта на анализа на алгоритмите. Анализът на алгоритъма дава отговор на въпроса колко рес

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

   Конвертирайте String в JsonObject с Gson

Конвертирайте String в JsonObject с Gson

1. Общ преглед Когато работим с JSON в Java, използвайки библиотеката Gson, имаме на разположение няколко опции за конвертиране на суров JSON в други класове или структури от данни, с които можем да работим по-лесно. Например можем да конвертираме JSON низове в Map или да създадем персонализиран клас с mappings. Понякога обаче е удобно да можете да конвертирате нашия JSO

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

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

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

1. Общ преглед В тази статия ще разгледаме конструкцията ThreadLocal от пакета java.lang . Това ни дава възможността да съхраняваме данни поотделно за текущата нишка - и просто да ги обвиваме в специален тип обект. 2. API на ThreadLocal Конструкцията TheadLocal ни позволява да съхраняваме данни, които ще бъдат достъпни само от определена нишка . Да кажем, че искам

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

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

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

1. Общ преглед Картите естествено са един от най-широко използваните стилове на колекцията на Java. И, което е важно, HashMap не е безопасно изпълнение на нишки, докато Hashtable осигурява безопасност на нишки чрез синхронизиране на операциите. Въпреки че Hashtable е безопасен за нишки, той не е много ефективен. Друга напълно синхронизирана карта, Collections.synchronizedMap, също не показва голяма ефективност. Ако искам

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

   Регулярни изрази \ s и \ s + в Java

Регулярни изрази \ s и \ s + в Java

1. Общ преглед Заместването на низове е стандартна операция, когато обработваме низове в Java. Благодарение на удобния метод replaceAll () в класа String , можем лесно да извършим заместване на низове с регулярни изрази. Понякога обаче изразите могат да объркат, например \ s и \ s +. В този кратък урок ще разгледаме разликата между двата регулярни израза чрез примери. 2. Раз

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

   Наследяване и композиция (Is-a срещу Има-връзка) в Java

Наследяване и композиция (Is-a срещу Има-връзка) в Java

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

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

   Ръководство за API за регулярни изрази на Java

Ръководство за API за регулярни изрази на Java

1. Общ преглед В тази статия ще обсъдим Java Regex API и как могат да се използват регулярни изрази в езика за програмиране Java. В света на регулярните изрази можете да избирате от много различни вкусове, като grep, Perl, Python, PHP, awk и много други. Това означава, че регулярният израз, който работи на един език за програмиране, може да не работи на друг. Синтаксисът на регулярния израз в Java е най-подобен на

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

   Форматиране на числа в Java

Форматиране на числа в Java

1. Общ преглед В този урок ще разгледаме различни подходи за форматиране на числа в Java и как да ги приложим. 2. Основно форматиране на числа с String # формат Методът String # format е много полезен за форматиране на числа. Методът взема два аргумента. Първият аргумент описва модела на колко десетични знака искаме да видим, а вторият аргумент е дадената стойност: double valu

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

   Обработка на грешки за REST с Spring

Обработка на грешки за REST с Spring

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

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

   Нетърпеливо / мързеливо зареждане в хибернация

Нетърпеливо / мързеливо зареждане в хибернация

Устойчивост отгоре Току що обявих новия курс Learn Spring , фокусиран върху основите на Spring 5 и Spring Boot 2: >> ПРЕГЛЕД НА КУРСА 1. Въведение Когато работите с ORM, извличането / зареждането на данни може да бъде класифицирано в два типа: нетърпелив и мързелив. В тази бърза статия ще посочим разликите и ще покажем, че те могат да се използват в хибернация. 2. Зависимости на Maven За да използваме Hibernate, нека първо дефинираме основ

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

   Изтеглете файл от URL в Java

Изтеглете файл от URL в Java

1. Въведение В този урок ще видим няколко метода, които можем да използваме за изтегляне на файл. Ще разгледаме примери, вариращи от основното използване на Java IO до пакета NIO и някои често срещани библиотеки като Async Http Client и Apache Commons IO. Накрая ще говорим за това как можем да възобновим изтеглянето, ако връзката ни се провали, преди да бъде прочетен целият файл. 2. Използване на Java IO Най-основния

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

   Tomcat java.net.BindException: Адресът вече се използва Грешка в Java

Tomcat java.net.BindException: Адресът вече се използва Грешка в Java

1. Общ преглед В този бърз урок ще разгледаме какво причинява често срещаната грешка в java.net.BindingException: Адресът вече е в грешка при използване и как можем да се справим с него. 2. Кога възниква грешката? Както знаем, сървърът на Apache Tomcat по подразбиране използва порта 8080. Номерата на портовет

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

   Какво е безопасност на резбата и как да я постигна?

Какво е безопасност на резбата и как да я постигна?

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

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

   Кога Java изхвърля грешката ExceptionInInitializerError?

Кога Java изхвърля грешката ExceptionInInitializerError?

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

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

   Задаване на версията на Java в Maven

Задаване на версията на Java в Maven

1. Общ преглед В този бърз урок ще покажем как да настроите версията на Java в Maven . Преди да продължим напред, можем да проверим стандартната версия на JDK на Maven . Изпълнението на командата mvn -v ще покаже версията на Java, в която работи Maven. 2. Използвайте приставката Compiler Можем да посочим желаната версия на Java в приставката на компилатора. 2.1. Приставка за компилатор Първата опция е задаване на

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

   StackOverflowError в Java

StackOverflowError в Java

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

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

   Побитови оператори на Java

Побитови оператори на Java

1. Общ преглед Операторите се използват в езика Java за работа с данни и променливи. В този урок ще изследваме Bitwise Operators и как работят в Java. 2. Побитови оператори Побитовите оператори работят върху двоични цифри или битове на входни стойности. Можем да ги приложим към целочислените типове - long, int, short, char и byte. Преди да проучим различните битови оператори, нека първо разберем как работят. Побитовите оператори

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

   Ръководство за Java API за WebSocket

Ръководство за Java API за WebSocket

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

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

   Пролетно сканиране на компоненти

Пролетно сканиране на компоненти

1. Общ преглед В този урок ще разгледаме сканирането на компоненти през пролетта. Когато работим с Spring, можем да анотираме нашите класове, за да ги превърнем в Spring. Но освен това можем да кажем на Spring къде да търсим тези коментирани класове, тъй като не всички от тях трябва да станат боб в този конкретен цикъл. Разбира се, има някои настройки по подразбиране за сканиране на компоненти, но също така можем да персонализираме пакетите за търсене. Първо, нека да разгледаме настройките по подразбиране. 2. @ComponentScan без аргументи 2.1. Използва

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

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

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

1. Въведение В този урок ще разгледаме набързо класа GregorianCalendar . 2. GregorianCalendar GregorianCalendar е конкретна реализация на абстрактния клас java.util.Calendar . Не е изненадващо, че Григорианският календар е най-често използваният граждански календар в света. 2.1. Получаване на инстанция Налични са две опции за получаване на екземпляр на GregorianCalendar: Calendar.getInstance () и използване на един от конструктори

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

   Java скенер

Java скенер

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

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

   Масиви в Java: Справочно ръководство

Масиви в Java: Справочно ръководство

1. Въведение В този урок ще се задълбочим в основната концепция на езика Java - масиви. Първо ще видим какво представлява масив, след това как да ги използваме; като цяло ще разгледаме как да: Започнете с масиви Четене и записване на елементи от масиви Завъртете се над масив Трансформирайте масиви в други обекти като Списък или Потоци Сортирайте, търсете и комбинирайте масиви 2. Какво е масив? Първо, първо трябва да дефинираме какво представлява масивът? Според документацията на Java масивът е обект, съдържащ фиксиран брой стойности от същия тип . Елементите на масив се индексират,

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

   Вземете Substring от String в Java

Вземете Substring от String в Java

1. Общ преглед В този бърз урок ще се съсредоточим върху функционалността на низовете на Strings в Java. Ще използваме предимно методите от класа String и няколко от класа StringUtils на Apache Commons . Във всички следващи примери ще използваме този прост низ: String text = "Julia Evans was born on 25-09-1984. " + "She is c

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

   Varargs в Java

Varargs в Java

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

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

   Пролетен обувка с хибернация

Пролетен обувка с хибернация

1. Общ преглед В тази статия ще разгледаме как да използваме Spring Boot с Hibernate. Ще изградим просто приложение Spring Boot и ще видим колко лесно е да го интегрираме с Hibernate. 2. Стартиране на приложението Ще използваме Spring Initializr, за да стартираме нашето приложение Spring Boot. За този пример ще използваме само необходимите конфигурации и зависимости, за да интегрираме Hibernate, добавяйки Web , JPA и H2 зависимости. Ще обясним тези зависимости в сле

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

   Пролет @Pathvariable Анотация

Пролет @Pathvariable Анотация

1. Общ преглед В този бърз урок ще изследваме анотацията @PathVariable на Spring . Казано по-просто, по @PathVariable анотацията може да се използва, за да се справят с променливи от шаблон в искането URI картографиране , и да ги използвате като параметрите на метода. Нека да видим как да използваме @PathVariable и различните му атрибути. 2. Просто картографиране Един прост случай на използване на анотацията @PathVariable би бил крайна точка,

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

   Създаване на PDF файлове в Java

Създаване на PDF файлове в Java

1. Въведение В тази бърза статия ще се съсредоточим върху създаването на PDF документ от нулата въз основа на популярната библиотека iText и PdfBox. 2. Зависимости на Maven Нека да разгледаме зависимостите на Maven, които трябва да бъдат включени в нашия проект: com.itextpdf itextpdf 5.5.10 org.apache.pdfbox pdfbox 2.0.4 Най-новата версия на библиотеките можете да намерите тук: iText и PdfBox. Необходима е една допълнителна зависимост, която да се до

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

   Сортиране на низ по азбучен ред в Java

Сортиране на низ по азбучен ред в Java

1. Общ преглед В този урок ще покажем как да сортирате String по азбучен ред. Може да има много причини, поради които бихме искали да го направим - една от тях може да бъде валидиране, ако две думи са съставени от един и същ набор от символи. По този начин ще проверим дали те са анаграма. 2. Сортиране на низ Вътрешно String използва масив от символи, за да работи. Следователно можем да използваме метода toCharArray ():

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

   Кратко ръководство за пружинни контролери

Кратко ръководство за пружинни контролери

1. Въведение В тази статия ще се съсредоточим върху основната концепция в Spring MVC - Controllers. 2. Общ преглед Нека започнем, като направим крачка назад и да разгледаме концепцията за предния контролер в типичната архитектура на Spring Model View Controller . На много високо ниво, ето основните отговорности, които разглеждаме: Прихваща входящи заявки Преобразува полезния товар на заявката във вътрешната структура на данн

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

   Разлики между Oracle JDK и OpenJDK

Разлики между Oracle JDK и OpenJDK

1. Въведение В тази статия ще изследваме разликите между Oracle Java Development Kit и OpenJDK. Първо ще разгледаме набързо всеки от тях и след това ще направим сравнение. След това ще видим списък с други внедрения на JDK. 2. Oracle JDK и Java SE History JDK (Java Development Kit) е среда за разработка на софтуер, използвана в програмирането на платформата Java. То

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

   Как да намерим елемент в списък с Java

Как да намерим елемент в списък с Java

1. Общ преглед Намирането на елемент в списък е много често срещана задача, която срещаме като разработчици. В този бърз урок ще разгледаме различни начини, по които можем да направим това с Java. 2. Настройка Първо нека започнем с дефиниране на POJO на клиента : public class Customer { private int id; private String name; // getters/setters, cu

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

   Внедряване на A * Pathfinding в Java

Внедряване на A * Pathfinding в Java

1. Въведение Алгоритмите за намиране на път са техники за навигация по карти , позволяващи ни да намерим маршрут между две различни точки. Различните алгоритми имат различни плюсове и минуси, често по отношение на ефективността на алгоритъма и ефективността на маршрута, който той генерира. 2. Какво е алгоритъм за намиране на път? Алгоритъмът за намиране на път е техника за преобразуване на графика - състояща се от възли и ръбове - в маршрут през графиката . Тази графика може да бъде всичко, което се нуждае от обхождане. За

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

   Семафори в Java

Семафори в Java

1. Общ преглед В този бърз урок ще изследваме основите на семафорите и мутексите в Java. 2. Семафор Ще започнем с java.util.concurrent.Semaphore. Можем да използваме семафори, за да ограничим броя на едновременните нишки с достъп до определен ресурс. В следващия пример ще приложим проста опашка за влизане, за да ограничим броя на потребителите в системата: class LoginQueueUsingSemaphore { private Semaphore semaphore

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

   Шаблонът на адаптера в Java

Шаблонът на адаптера в Java

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

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

   Как да намерите JAVA_HOME

Как да намерите JAVA_HOME

1. Въведение В този бърз пост ще научим как да намерим JAVA_HOME в Windows, Mac и Linux. Както всички знаем, JAVA_HOME е променлива на средата, която често използваме за намиране на изпълними файлове на Java като java и javac . 2. Специфични за Windows начини за намиране на JAVA_HOME Ако използваме Windows като операционна система, първо трябва да отворим на

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

   Java HashMap под капака

Java HashMap под капака

1. Общ преглед В тази статия ще разгледаме по-подробно най-популярната реализация на интерфейса Map от Java Collections Framework, като продължим там, където нашата статия за въведение е спряла. Преди да започнем с внедряването, важно е да отбележим, че първичните интерфейси за събиране List и Set разширяват Collection, но M

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

   Скриване на променливи и методи в Java

Скриване на променливи и методи в Java

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

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

   Ръководство за REST-гарантирано

Ръководство за REST-гарантирано

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

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

   Свържете Java с база данни MySQL

Свържете Java с база данни MySQL

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

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

   FileNotFoundException в Java

FileNotFoundException в Java

1. Въведение В тази статия ще говорим за много често срещано изключение в Java - FileNotFoundException . Ще разгледаме случаите, когато това може да се случи, възможните начини за лечение и някои примери. 2. Кога се хвърля изключението? Както е посочено в документацията за API на Java, това изключение може да се появи, когато: Файл с ука

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

   Работа с Microsoft Excel в Java

Работа с Microsoft Excel в Java

1. Въведение В този урок ще демонстрираме използването на API на Apache POI и JExcel за работа с електронни таблици на Excel . И двете библиотеки могат да се използват за динамично четене, писане и модифициране на съдържанието на електронна таблица на Excel и осигуряват ефективен начин за интегриране на Microsoft Excel в Java приложение. 2. Зависимости на Maven За начало ще трябва да добавим следните зависимости към нашия файл pom.xml : org.apache.poi poi 3.15 org.apache.poi poi-ooxml 3.15 Най-новите версии на poi-ooxml и jxls-jexcel могат да бъдат изтеглени от

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

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

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

1. Въведение Класът String е един от най-често използваните класове в Java, което накара дизайнерите на езици да го третират специално. Това специално поведение го прави една от най-горещите теми в интервютата за Java. В този урок ще разгледаме някои от най-често срещаните въпроси за интервюто за String . 2. Основи на струните Този раздел се състои от въпроси, които се отнасят

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

   Заснемане на Java Thread Dump

Заснемане на Java Thread Dump

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

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

   Въведение в SLF4J

Въведение в SLF4J

1. Общ преглед Simple Logging Facade за Java (съкратено SLF4J) - действа като фасада за различни системи за регистриране (например java.util.logging, logback, Log4j). Той предлага общ API, който прави регистрирането независимо от действителното изпълнение. Това позволява да съществуват различни рамки за регистриране. Той също така помага за мигриране от една рамка в друга. И накрая, освен стандартизиран

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

   Mockito Verify Cookbook

Mockito Verify Cookbook

1. Общ преглед Тази готварска книга илюстрира как да използвате Mockito за проверка в различни случаи. В формата на готварската книга е пример фокусирани и практично - без излишни подробности и обяснения необходими. Ще се подиграем на едно просто изпълнение на списъка : public class MyList extends AbstractList { @Override public String get(final int index) { return null; } @Overrid

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