- Создание простейшего приложения на Java
- Современная серверная разработка на языке Java: 1. Инструменты разработчика
- Часть 1. Инструменты разработчика
- Java Development Kit
- Создание и запуск первого Java-приложения (часть 1)
- Перед началом работы
- Создание проекта
- Изучение структуры проекта
- Создание пакета
- Создание класса
Создание простейшего приложения на Java
В этой статье речь идет об организации простейшего приложения на Java для начинающих разработчиков, которые уже изучили концепции объектного подхода. Но для опытных возможно тоже будет интересно.
Зачастую начинающие разработчики задают вопроc: «С чего начать создание приложения», какие классы использовать и прочее.
Не стоит воспринимать статью как пример «Hello World» для начинающих изучать язык Java и объектно-ориентированный подход. Предполагается, что читатель уже знаком с языком Java, однако у него возникают вопросы указанные выше.
В этой статье мы даем ответ на эти вопросы.
Для того, чтобы строить приложение постепенно, используя концепции объектно-ориентированного подхода мы будем представлять все элементы нашего приложения в виде объектов соответствующих классов. Поэтому приложение тоже будет отдельным классом. Для запуска приложения будем создавать его экземпляр.
Сначала создается класс Application — он будет моделью всего приложения.
Далее создаем точку входа в приложение — метод main:
Этот метод выполняется при запуске Java с указанием основого класса (Application). В нем мы создаем экземпляр приложения и инициализируем его, а далее запускаем. Для этого будем использовать методы init и run:
public class Application < public void init() < >public void run() < >public static void main(String[] args) < Application application = new Application(); application.init(); application.run(); >>
В методе init мы делаем необходимую инициализацию приложения. В методе run же распологается основной код хода приложения.
Метод init можно не использовать, однако мы исходим из того, что наше приложение проходит две стадии — инициализация и запуск.
Остальные элементы нашего приложения можно разбить на модельные классы и виды (окна, панели). Например, представим, что мы создаем простейший кредитный калькулятор. Тогда класс CreditCalculator — будет моделью калькулятора. В методе init будем инициализировать калькулятор, а в run вычислять:
public class Application < private CreditCalculator calculator; public void init() < calculator = new CreditCalculator(); >public void run() < calculator.setAmount(500000); calculator.setYears(3); calculator.calculate(); System.out.println("Месячный платеж: " + calculator.getMonthlyPayment()); >public static void main(String[] args) < Application application = new Application(); application.init(); application.run(); >>
Таким образом, создание приложения можно начать с создания класса Application и далее добавлять необходимые модельные классы с которыми требуется работать.
Теперь о том, как запустить приложение
Мы будем исходить из того, что вы используете среду разработки Eclipse, Intellij IDEA или NetBeans. И класс Application создали именно в ней. В этих же средах для запуска нужно вызвать контекстное меню и нажать Run… или Run As Application в редакторе класса Application.
Но все же — запуск приложения из среды не был нашей целью, а целью было понять с каких классов можно начать создание приложения.
Крутых девелоперов просьба не ругать — вы и так все знаете! А лучше поругайте — тогда будет понятно что неправильно.
Просьба перед оценкой статьи оставить конструктивный комментарий.
Современная серверная разработка на языке Java: 1. Инструменты разработчика
Мы живем в интересное время – практически у каждого человека в кармане лежит небольшой компьютер, имеющий доступ в Интернет. Этот факт обеспечил появление множества востребованных интернет-сервисов. Если раньше имело смысл создавать приложения, которые нужны всем, например, службу электронной почты, то в наши дни из-за массовости проникновения технологии спрос найдет и какая-нибудь экзотика вроде доставки вегетарианской пищи.
Такой разброс «предметных областей» мог бы потребовать тысяч уникальных программных продуктов, множество технологий и разновидностей специалистов. Но так не случилось.
Большая часть возможностей, которые предлагает нам Интернет, обеспечена приложениями на основе микросервисной архитектуры. Микросервис – это независимое приложение, которое умеет выполнять несколько взаимосвязанных функций по запросам от других микросервисов, либо от пользовательского интерфейса.
Так же, как наши жилища построены из однотипных кирпичей, блоков или плит, так и Интернет-сервисы, которые мы используем, состоят из множества микросервисов.
Микросервисы независимы, легко переиспользуются или заменяются. А главное — они сравнительно просты и, зачастую, однотипно устроены. Достаточно написать один-два, и программист может создавать их быстро и очень много, большую часть позаимствовав из других проектов. Например, хорошо написанный сервис User Manager можно затем переиспользовать в любых проектах, где есть авторизация пользователей. Хорошо написанные сервисы продуктовых каталогов и заказов можно использовать в любом новом проекте, связанном с продажами через Интернет.
Это руководство поможет Вам освоить современную серверную Java-разработку на примере написания стандартного микросервиса.
Предлагаю ознакомиться с планом работ, выполнив которые, мы создадим готовый к развертыванию в промышленной платформе микросервис с правильной архитектурой.
Первая часть «Инструменты разработчика» расскажет о типовом наборе средств, которые ежедневно используются в нашей работе:
- Java Development Kit – комплект Java-разработчика
- IntelliJ IDEA – среда разработки
- Gradle – система автоматической сборки
- Git – система управления версиями
Вторая часть «Архитектура приложения» посвящена тому, как устроен типовой Java-сервис:
- Spring Boot – платформа (framework) для написания приложений на Java
- DTO – объекты для передачи данных
- REST-контроллеры – обработчики запросов
- Валидация – проверка корректности данных
- Модели – представления о сущностях
- Liquibase – создание и подключение к базе данных
- DAO-слой – взаимодействие с базой данных
- Сервисный слой – бизнес-логика
- Обработка исключений – что делать, если что-то пошло нет так
- Scheduler – запуск обработки без запроса
- Kafka – обмен сообщениями с другими приложениями
- Application.yml – конфигурация приложения
- Транзакции – позаботимся о целостности данных
Третья часть «Тестирование» поможет написать тесты для вашего приложения:
- JUnit – тестирование классов проекта, профили приложения
- MockMvc – тестирование REST-контроллеров
- Run Tests With Coverage – проверяем покрытие тестами
- Rest Assured – тестирование web-сервисов
- Selenium-java – frontend-тестирование
Четвертая часть «Контейнеризация приложений» познакомит вас с тем, каким образом запускаются и работают приложения в промышленных средах:
- Дистрибутивы – отдаем приложение в эксплуатацию
- Docker – средство контейнеризации приложений
- Kubernetes – средство оркестровки приложений
В четвертой части «Разное» будет рассказано о важных мелочах, которые помогут влиться в команду профессионалов:
- Форматирование кода – каким должен быть Java-код
- Code Review – обсуждение доработок
- Merge Conflict – что делать, если возник конфликт веток
- Markdown – разметка форматирования текста
- OpenAPI – framework для описания REST-сервисов
- JSON Web Token – токены доступа
- SSL/HTTPS – включаем шифрования трафика
- Maven – еще один стандартный сборщик проектов
- Jira – средство планирования разработки
- Stand-up – общение с командой
- Собеседование – как получить работу своей мечты
«Список литературы» — книги, которые надо прочитать
Часть 1. Инструменты разработчика
В этой части мы установим на компьютер средства, необходимые разработчику: JDK, IDEA и Git. Затем создадим новый проект и репозиторий для него. А также научимся вносить в проект изменения так, как это принято при командной разработке.
Java Development Kit
Java Development Kit – это первый, обязательный и минимально-необходимый инструмент Java-разработчика. Без него невозможна компиляция Java-программ.
Важно – не путайте Java Runtime Environment (JRE) и Java Development Kit (JDK). Первое позволяет только запускать уже скомпилированные Java-программы.
Прежде чем скачивать и устанавливать JDK на компьютер, получите информацию о версии JDK, которая используется на проекте. Если такой информации нет, установите последнюю LTS версию – 17 (к середине 2022 года).
На момент, когда пишутся эти строки, уже существует 18 версия, а когда вы будете их читать, наверняка будут 19, 20 и 21 версии. Но надо учитывать, что не каждая версия имеет статус Long Term Support (LTS), предполагающий поступление обновлений для нее.
История появления последних версий JDK
Создание и запуск первого Java-приложения (часть 1)
Чтобы получить представление о том, как IntelliJ IDEA поможет вам в разработке и запуске Java-приложений, мы предлагаем вам создать и запустить простейший пример «Hello, World» в данной программе. Таким образом, вы сможете узнать об основных IDE функциях без необходимости вдаваться в детали кода. Пошаговая инструкция поможет вам не запутаться в тонкостях запуска и настройки программы.
Перед началом работы
Для создания Java-приложений потребуется Java Development Kit (JDK). Если программа еще не установлена, ее можно скачать и установить с сайта Oracle.com. Там же можно найти инструкции по установке.
Создание проекта
Создание любого приложения в IntelliJ IDEA начинается с создания проекта (узнать, почему проект необходим, можно в IntelliJ IDEA Help, по ссылке Project), так что первым нашим шагом будет создание проекта «Hello, World». Этот проект будет содержать модуль Java для нашего приложения Java.
- Если ни один проект в данный момент не открыт, нажмите кнопку Create New Project на экране приветствия. В противном случае, выберите пункт New Project в меню File. В результате откроется мастер создания проекта.
- В левой панели выберите Java Module.
- В правой части страницы, в поле Project name, введите название проекта: HelloWorld.
- Если до этого вы никогда не настраивали JDK в IntelliJ IDEA в (в таком случае в поле Project SDK стоит ), необходимо сделать это сейчас. Вместо нажмите New и в подменю выберите JDK. В окне Select Home Directory for JDK выберите директорию, в которую устанавливалось JDK и нажмите ОК. Версия JDK, которую вы выбрали, появится в поле Project SDK. Кликните Next. Учтите, что указанная версия JDK будет связана по умолчанию со всеми проектами и Java модулями, которые в дальнейшем будут создаваться.
- На следующей странице осуществляется выбор мастера для указания дополнительных технологий, которые будут поддерживаться в нашем модуле. Поскольку наше приложение будет «старым добрым приложением Java», мы не нуждаемся в любой из этих технологий. Так что просто нажмите кнопку Finish. Подождите, пока IntelliJ IDEA создает необходимые структуры проекта. Когда этот процесс завершится, вы можете увидеть структуру Вашего нового проекта в окне Project.
Изучение структуры проекта
Давайте пробежимся взглядом по структуре проекта. В дереве проекта видим две директории верхнего уровня:
- HelloWorld. Это узел, содержащий ваш Java модуль. Папки .idea и файлы внутри директории HelloWorld.iml используются для хранения данных конфигурации вашего проекта и модулей соответственно.SRC папки содержат исходный код.
- External Libraries (внешние библиотеки). Это категория, которая представляет все «внешние» ресурсы, необходимые для вашего проекта. В настоящее время в этой категории файлы .jar, из выбранного нами JDK.
Из всех упомянутых папок в рассматриваемом примере нам понадобится только SRC.(Для получения дополнительной информации об окнах инструментов в целом и окне Project в частности, см. IntelliJ IDEA Tool Windows) и Project Tool Window в IntelliJ IDEA Help)
Создание пакета
Теперь мы собираемся создать пакет для класса HelloWorld (Мы создадим этот класс чуть позже.) Назовем этот пакет com.example.helloworld.
- В окне инструментов Project выберите папку SRC и нажмите ALT + INSERT. (В качестве альтернативы, вы можете выбрать File -> New, или New из контекстного меню для папки SRC).
- В меню New выберите Package. (можно использовать стрелки вверх и вниз для навигации по меню, ENTER для выбора выделенного элемента)
- В открывшемся окне New Package введите имя пакета (com.example.helloworld). Нажмите кнопку ОК (или клавишу ENTER). Новый пакет появится окне Project.
Создание класса
- Нажмите ALT + INSERT. В окне New из списка доступных действий с выделенным пакетом com.example.helloworld выбираем Java Class и нажимаем Enter.
- В появившемся окне Create New Class в поле Name вводим имя HelloWorld. В поле Kind оставляем тип Class и нажимаем Enter, чтобы подтвердить создание класса. Созданный класс HelloWorld появляется в структуре проекта: На этом все приготовления закончены. Сам процесс написания нашего первого кода будет разобран во второй части статьи.
Исходная статья: Creating and running your first Java application Переведено и озвучено: Ve4niYСоздание и запуск первого Java-приложения (часть 2)