Со временем у Java появилось огромное количество библиотек. Изучать их многообразие разработчикам, как правило, некогда.
В статье расскажем о самых полезных библиотеках, которые пополнят вашу коллекцию рабочих инструментов.
1. Стандартные библиотеки Java
Многие программисты недооценивают или не знают всех возможностей, которые дают Java Standard Libraries — и не применяют их в работе. Вот что могут некоторые из них:
- java.lang — импортируется во все Java-приложения, т.к. в ней содержится всё необходимое для программирования: String, Double, Enum, Math и т.д.
- java.util — в ней находятся все коллекции и структуры данных, доступные в Java.
- java.io — используется для чтения файлов, а также для работы с абстрактными потоками данных.
- java.nio — альтернатива java.io, отвечает за неблокирующий ввод-вывод.
- java.net — используется для отправки данных по сети, в частности для работы с сокетами.
- javax.sound — позволяет воспроизводить музыку и создавать MIDI-файлы.
2. JHipster
JHipster — это RAD (Rapid Application Development) платформа для создания fullstack-приложений на Spring Boot и AngularJs.
JHipster незаменим для генерирования эскиза проекта распределенного веб-сервера. Он умеет генерировать pom-файл с зависимостями, настраивать Elastic Search и Connection. Вам останется только добавить бизнес-логику архитектуры. Основные библиотеки, включённые в сгенерированный проект:
- Spring Boot — помогает ускорить и облегчить разработку приложений.
- Angular/AngularJS — отвечает за инфраструктуру JavaScript.
3. Maven
Один из трёх самых популярных инструментов для сборки проектов на Java. Отвечает за компиляцию, создание jar-файлов, создание дистрибутива программы и генерацию документации.
Сборку проекта, подготовку его рабочей версии, можно делать вручную в командной строке, написать скрипты или с помощью систем автоматической сборки. Maven — как раз одна из трёх таких систем. Две другие — Gradle и Ant. На входе эти системы получают исходники проекта и конфигурационный файл pom.xml, а на выходе выдают программу, готовую к запуску.
4. Google GSON
Пригодится для разработки преобразования Java-объектов в JSON и наоборот, а также будет полезна при разработке сервисов, предоставляющих REST API.
5. Apache Commons
Это большой набор маленьких Java-утилит самого разного предназначения. На основе утилит Apache Commons созданы такие известные проекты, как Tomcat и Hibernate. Вот некоторые из наиболее используемых библиотек Apache Commons:
- Commons Math — содержит компоненты для сложных математических и статистических операций и вычислений.
- Commons CLI — предоставляет API для анализа аргументов командной строки. Помогает передавать параметры и контролировать поведение приложения.
- Commons IO — упрощает выполнение операций ввода-вывода.
6. Guava
Это набор основных библиотек Google для Java. Они содержат новые типы коллекций вроде Multimap и Multiset, а также неизменяемые коллекции, библиотеку графов и функциональные типы, утилиты для параллелизма, ввода/вывода, хэширования и обработки строк. Все эти инструменты используют в работе специалисты Google — а это определенный показатель качества.
В какой-то мере Guava — это альтернатива Apache Commons. Одна из полезных фич в этой библиотеке — компонент ComparisonChain. Он используется для расширенной и сложной сортировки коллекций и их сравнения по столбцам с несколькими условиями. Позволяет упорядочить коллекции и сравнить их содержимое.
7. Mockito
Библиотека для mock-объектов, которые имитируют поведение реального объекта по заранее заданной схеме. Например, при модульном тестировании такие объекты могут симулировать поведение бизнес-объектов. С Mockito гораздо удобнее создавать mock-объекты и использовать их.
8. Hibernate
Этот фреймворк решает задачи объектно-реляционного отображения (ORM). Обеспечивает более простой и абстрактный способ хранения данных в реляционных базах данных за счет реализации спецификации JPA, которая работает как обертка вокруг JDBC.
9. JUnit
Это Java-фреймворк с открытым исходным кодом, который нужен для создания модульных или юнит-тестов. Пригодится начинающим Java-разработчикам, чтобы покрывать код тестами.
10. Log4j и Slf4j
Два этих фреймворка созданы для того, чтобы скрывать рутинные операции по журналированию событий, происходящих при работе Java-приложений. Slf4j представляет собой абстракцию для других фреймворков журналирования, в частности для Log4j.
Вы Java-разработчик? Приходите работать в МТС
Если вы разрабатываете приложения на Java и хотели бы работать в МТС, прямо сейчас в компании ищут ведущего Java-разработчика на проект SmartDocs. Вам предстоит разрабатывать информационную систему хранения и обработки документов при помощи интеллектуальных сервисов:
- Проектировать программные системы.
- Разрабатывать микросервисную архитектуру информационной системы.
- Разрабатывать интерфейсную часть продукта, приложение, серверную часть продукта.
- Разрабатывать схемы взаимодействия и интеграции.
- Участвовать в процессе создания архитектуры баз данных.
- Анализировать и исправлять ошибки.
- Разрабатывать функционал в области компьютерного зрения.
Какие необходимы компетенции:
- Знание технологий: Java8+, Spring Boot, Spring Data JPA, Spring Security, Hibernate, Neo4j, JanusGraph, PostgreSQL, Redis, Elastic, OpenCV, Tesseract, Rabbit MQ, Kafka, Oauth2, Docker, Git, CI/CD, Jira, S3, SQL, Swagger.
- Понимание полного процесса создания ПО.
- Знание и понимание микросервисной архитектуры информационных систем.
- Знание различных типов электронных документов и способов/инструментов для их классификации, обработки и извлечения данных.
- Знание принципов построения систем с использованием компьютерного зрения.
- Опыт разработки клиент-серверных приложений.
- Опыт работы с документацией, BPMN,UML-схемами, разработки по техническому заданию.
Читать первым в Telegram-канале «Код Дурова»