RestAPI + Java+spring. Часть 2 — создаем проект, добавляем его на github.
Статья о том, как создать репозиторий на github и как добавить в этот репозиторий новый проект.
В предыдущей статье мы рассмотрели общую концепцию нашего проекта, определили примерно, какое flow проекта, какие есть объекты, какую базу данных мы будем использовать.
Теперь пришло время начинать писать проект.
Создаем репозиторий на github
Для того, что бы добавить проект в репозиторий github, необходимо сначала создать этот репозиторий.
- переходим в свой профиль на github. Находим кнопку NEW и нажимаем на нее.

- попадаем на страницу создания репозитория. Заполняем поля.
наш репозиторий будет называться item

- заполняем поля

- нажимаем кнопку “create repository”.

Все! Репозиторий создан, в нем на данный момент есть Readme файл — это файл, в котором обычно пишут описание проекта и всю необходимую для его запуска информацию, и gitignore файл. В этом файле хранится список тех файлов, которые мы не хотим “заливать” на git.
Клонирование репозитория на локальный компьютер
После того, как мы создали репозиторий, нужно “склонировать” его на свой компьютер.
для этого:
- на github нажимаем кнопку “Code” и копируем ссылку, которую увидим там.

- переходим в Terminal на компьютере. Переходим в нужную нам директорию (у меня это Desktop)

- клонируем репозиторий. Для того, что бы склонировать, нужно ввести команду git clone и вставить ссылку, которую мы скопировали на гите.

После того, как мы увидим слово “done” мы можем перейти в директорию, куда мы копировали проект и увидеть, что была создана папка с проектом, в которую был добавлен код. Пока в этой папке всего один файл, но это уже проект. Его можно открыть в среде разработки (я использую Intellij)

Добавляем Maven
Второй шаг, который необходимо сделать до того, как начнем писать логику приложения — сделать из нашего “файлика” спринг проект и добавить зависимости.
Для этого переходим на сайт https://start.spring.io/ и заполняем там необходимые поля

например — вот так. Если мы забыли добавить какую то зависимость — мы всегда можем это сделать по мере необходимости. Пока мы добавили:
- Ломбок — помогает уменьшить количество кода
- базу данных
- валидаор
- актуатор — поможет проверять состояние приложения. Например — всегда можно проверить запущено оно или “лежит” по какой либо причине. Это полезно если ваше приложение где то в “облаке”
Теперь, когда все данные добавлены — можно генерировать проект и скачивать его. Нажимаем кнопку

Ждем пока проект сгенерируется и скачается. После окончания скачивания делаем следующие действия —
- открываем проект в среде разработки

- распаковываем архив items и видим там файл pom.xml

- копируем pom.xml в корневую директорию проекта

Если сейчас запустить инсталяцию мавен — то мы увидим проблему —

все логично. Дело в том, что Spring требует определенную структуру для своих проектов. А именно — необходим main class которого у нас пока нет. Создаем его.
можно создать структуру “руками”, а можно просто скопировать папку src из items ( архива, полученного с сайта start.spring.io)
в любом случае у нас должна получится вот такая структура

теперь в папке java добавляем структуру именно нашего проекта. Если мы откроем pom.xml мы увидим в нем

groupId тут — это путь к нашим классам. Создаем его физически, и сразу де создаем main класс.

Осталось сделать из этого класса main class. Для этого, нам необходим метод main и аннотация, которая скажет спрингу, что это и есть главный класс.

@SpringBootApplication - говорит о том, что это именно приложение построенное с помощью Spring.
пробуем запустить maven — переходим в терминал, в папку приложения

и вводим команду
mvn install

Видим что все ОК. Пробуем запустить приложение —

все в порядке. Приложение стартануло. Теперь пора добавить все изменения на gitHub
Добавляем изменения на GitHub
smilyk@MBP-Smilyk items % git add . — этп команда добавляет все файлы в localgit
Нам не нужны все файлы в репозитории. Нам нужны там только те файлы, которые отвечают за логику, а все дополнительные (типа файлов мавен) там не нужны. Поэтому добавляем файлы по одному.
smilyk@MBP-Smilyk items % git add src
проверяем —

видим, что для комита добавлена директория src. Так же добавляем pom.xml.
Больше пока нам ничего добавлять не нужно.
Следующий шаг — коммитим эти изменения, добавив комментарий “init project”
smilyk@MBP-Smilyk items % git commit -m “init project”
и, наконец, пушим все наши коммиты на git

Переходим на github

И видим — все наши изменения сохранены в удаленный репозиторий!
Задача этой статьи выполнена. У нас есть Spring Boot проект, который хранится в удаленном репозитории на github.
В следующей статье мы можем начать подключать базу данных и писать логику.
Ссылка на репозиторий — https://github.com/natalyaKh/items