Статьи с тэгом «Java»
16 апреля 2019
Тэги:
Collections,
Java.
Очередь реализует принцип "first in - first out", т.е. "первым пришёл - первым ушёл". Стек реализует принцип "last in - first out", т.е. "последним пришёл - первым вышел". Аналогия из реального мира - это стопка книг на столе (сначала берём верхнюю).
26 мая 2018
Тэги:
PostgreSQL,
Spring Boot,
rest,
Hibernate,
Spring Data,
Java.
В статье Hibernate и Spring Boot мы рассматривали использование Hibernate для того, чтобы не писать sql-запросы в слое доступа к данным. Сегодня мы пойдём ещё дальше и рассмотрим, как Spring Data может генерировать за вас сам слой доступа к данным со всеми методами, которые вам нужны в сервисном слое.
В качестве примера возьмём сущность «Страна» с её названием в качестве единственного параметра и на примере этой сущности шаг за шагом создадим все необходимые операции для поиска, добавления, редактирования и удаления этой сущности. В СУБД postgres надо создать следующую таблицу:
CREATE TABLE country
(
id serial,
name character varying(50) NOT NULL,
CONSTRAINT country_id_pk PRIMARY KEY (id)
);
Теперь создадим типовой maven-проект и добавим в pom.xml необходимые зависимости. Полную версию файла можно посмотреть на github.
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.12.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.2.jre7</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
spring-boot-starter-web отвечает за обработку http-запросов, а spring-boot-starter-data-jpa предоставляет функционал доступа к данным. Также мы добавляем драйвер для работы с целевой СУБД.
20 мая 2018
Тэги:
Spring Boot,
maven,
PostgreSQL,
rest,
Java,
Hibernate.
Hibernate скрывает от вас детали sql-запроса, что делает ваш код лёгким для понимания и не зависимым от реализации конкретной СУБД. Вы легко можете перейти с postgres на mysql или oracle, поменяв буквально пару строк кода в файле настроек.
11 мая 2018
Тэги:
Spring Boot,
Java,
PostgreSQL.
Разбор работы с датой и временем в Spring Boot и Postgres: LocalDateTime, JSON-формат, Jackson, валидация, DAO-слой, RowMapper и REST-эндпоинты
7 мая 2018
Тэги:
Java,
Collections.
Под коллекциями в программировании подразумевают объекты, которые хранят внутри себя какой-либо набор значений и предоставляют набор методов для обращения к этим значениям. В Java можно выделить 3 наиболее часто используемых типа коллекций: списки (list), наборы (set) и словари (map).
6 мая 2018
Тэги:
Java.
Метод System.getProperties() возвращает список переменных окружения, которые доступны для данной виртуальной машины.
2 мая 2018
Тэги:
Java,
maven,
Apache.
Понятие runnable jar или uber jar возникает тогда, когда вы задумываетесь о разворачивании вашего проекта на удалённом сервере. У вас должна быть уверенность в том, что в произвольном окружении, где окажется ваше приложение, в classpath будут все необходимые классы из используемых вами библиотек.
Конечно, никакой проблемы нет, если вы вообще не используете сторонние библиотеки. Но я уверен, что всё-таки используете, если только ваш проект не «Hello World».
Чтобы гарантировать наличие нужных версий всех библиотек, нам проще поставлять их вместе с нашим приложением. Для удобства развёртывания все библиотеки можно поместить в один jar-файл. Подробнее о том, что такое jar-архив и как его получить, мы рассматривали в статье Как скомпилировать исходники java вручную.
Рассмотрим конкретный пример. Пусть имеется приложение, которое использует класс StringUtils из популярного проекта Apache Commons Lang:
package ru.devmark;
import org.apache.commons.lang3.StringUtils;
public class Main {
public static void main(String[] args) {
System.out.println(StringUtils.isBlank(""));
}
}
В pom-файле нашего maven-проекта должно быть прописано следующее:
1 мая 2018
Тэги:
головоломки,
Java,
алгоритмы.
Если перед вами встанет задача обменять значения двух числовых переменных a и b между собой, вы можете создать временную переменную, чтобы сохранять промежуточный результат. Но как сделать это без создания лишней переменной? На помощь нам придёт математика.
28 апреля 2018
Тэги:
Collections,
Java.
В Java появился ряд новых удобных методов по работе с интерфейсом Map, которые позволяют выполнять рутинные операции буквально в одну строчку, используя лямбда-выражения.
27 апреля 2018
Тэги:
JUnit,
Java.
Предположим, у вас имеется метод, который вместо логов просто выводит какой-то текст через стандартный поток вывода и перед вами встаёт задача написать юнит-тест на то, что данный метод действительно выводит данную строку. Для тестирования будем использовать библиотеку JUnit.
❮ Назад
Далее ❯
Облако тэгов
Kotlin,
Java,
Spring,
Spring Boot,
Spring Data,
Spring AI,
SQL,
PostgreSQL,
Oracle,
H2,
Linux,
Hibernate,
Collections,
Stream API,
многопоточность,
чат-боты,
нейросети,
файлы,
devops,
Docker,
Nginx,
Apache,
maven,
gradle,
JUnit,
YouTube,
руководство,
ООП,
алгоритмы,
головоломки,
rest,
GraphQL,
Excel,
XML,
json,
yaml.