create-spring-boot-java-project
github/awesome-copilot
Создание скелета проекта на Java с использованием Spring Boot
...Расширить всеО навыке create-spring-boot-java-project
Навык create-spring-boot-java-project предназначен для автоматизации настройки основной структуры проекта на Java с использованием фреймворка Spring Boot, облегчая начальные этапы его разработки. Благодаря предоставлению готового шаблона с необходимыми настройками и зависимостями этот навык снижает количество ручных операций при создании нового проекта Spring Boot с нуля. Он обеспечивает правильную структуризацию проекта и наличие необходимых инструментов и фреймворков для современной разработки на Java, таких как Docker и Docker Compose для контейнеризированных сред.
Основные особенности этого навыка включают загрузку шаблона проекта Spring Boot со заранее определенными зависимостями, настройку совместимости с Java 21 и конфигурирование основных сервисов, таких как Redis, PostgreSQL и MongoDB. Также включены инструменты SpringDoc для документирования API и дополнительные фреймворки тестирования, например ArchUnit. Навык помогает пользователю распаковать проект, удалить временные файлы, обновить файл pom.xml с дополнительными зависимостями и настроить параметры подключения к базам данных в файле application.properties. Кроме того, предоставляется конфигурация Docker Compose для быстрого запуска необходимых бэкенд-сервисов, что обеспечивает единообразную среду разработки.
Этот навык особенно полезен для Java-разработчиков, инженеров DevOps и команд, которые часто создают новые проекты на Spring Boot. Он идеально подходит для тех, кто хочет обеспечить единообразие между несколькими проектами, минимизируя время на настройку. Также он полезен в образовательных целях, позволяя студентам или новичкам быстро настроить полноценную среду разработки Spring Boot с использованием современных практик и интегрированных сервисов.
Частые вопросы
Какое программное обеспечение необходимо установить для использования этого навыка?
Для эффективного использования этого навыка на вашем системе должны быть установлены Java 21, Docker и Docker Compose.
Могу ли я изменить имя проекта и пакета?
Да, вы можете изменить имя проекта, задав значение параметра artifactId, и имя пакета, обновив значение параметра packageName в настройках загрузки шаблона.
Как изменить версию Spring Boot для проекта?
Вы можете изменить значение параметра bootVersion в команде загрузки шаблона, чтобы указать другую версию Spring Boot.
Включены ли в генерированный проект какие-либо заранее определенные зависимости?
Да, в проект включены такие зависимости, как Lombok, библиотеки для работы с веб-сервисами, JPA, PostgreSQL, Redis, MongoDB, инструменты для проверки данных, кэширования и тестирования. Дополнительные зависимости, такие как SpringDoc и ArchUnit, добавляются вручную в файл pom.xml.
Будут ли базовые сервисы базы данных настроены автоматически?
Да, в шаблон включена конфигурация файла docker-compose.yaml, которая позволяет быстро запустить Redis, PostgreSQL и MongoDB с предустановленными паролями и портами.
Create Spring Boot Java project prompt
Please make sure you have the following software installed on your system:
- Java 21
- Docker
- Docker Compose
If you need to custom the project name, please change the
artifactIdand thepackageNamein download-spring-boot-project-templateIf you need to update the Spring Boot version, please change the
bootVersionin download-spring-boot-project-template
Check Java version
- Run following command in terminal and check the version of Java
java -version
Download Spring Boot project template
- Run following command in terminal to download a Spring Boot project template
curl https://start.spring.io/starter.zip \ -d artifactId=${input:projectName:demo-java} \ -d bootVersion=3.4.5 \ -d dependencies=lombok,configuration-processor,web,data-jpa,postgresql,data-redis,data-mongodb,validation,cache,testcontainers \ -d javaVersion=21 \ -d packageName=com.example \ -d packaging=jar \ -d type=maven-project \ -o starter.zipUnzip the downloaded file
- Run following command in terminal to unzip the downloaded file
unzip starter.zip -d ./${input:projectName:demo-java}Remove the downloaded zip file
- Run following command in terminal to delete the downloaded zip file
rm -f starter.zip
Change directory to the project root
- Run following command in terminal to change directory to the project root
cd ${input:projectName:demo-java}
Add additional dependencies
- Insert
springdoc-openapi-starter-webmvc-uiandarchunit-junit5dependency intopom.xmlfile
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.8.6</version></dependency><dependency> <groupId>com.tngtech.archunit</groupId> <artifactId>archunit-junit5</artifactId> <version>1.2.1</version> <scope>test</scope></dependency>
Add SpringDoc, Redis, JPA and MongoDB configurations
- Insert SpringDoc configurations into
application.propertiesfile
# SpringDoc configurationsspringdoc.swagger-ui.doc-expansion=nonespringdoc.swagger-ui.operations-sorter=alphaspringdoc.swagger-ui.tags-sorter=alpha
- Insert Redis configurations into
application.propertiesfile
# Redis configurationsspring.data.redis.host=localhostspring.data.redis.port=6379spring.data.redis.password=rootroot
- Insert JPA configurations into
application.propertiesfile
# JPA configurationsspring.datasource.driver-class-name=org.postgresql.Driverspring.datasource.url=jdbc:postgresql://localhost:5432/postgresspring.datasource.username=postgresspring.datasource.password=rootrootspring.jpa.hibernate.ddl-auto=updatespring.jpa.show-sql=truespring.jpa.properties.hibernate.format_sql=true
- Insert MongoDB configurations into
application.propertiesfile
# MongoDB configurationsspring.data.mongodb.host=localhostspring.data.mongodb.port=27017spring.data.mongodb.authentication-database=adminspring.data.mongodb.username=rootspring.data.mongodb.password=rootrootspring.data.mongodb.database=test
Add docker-compose.yaml with Redis, PostgreSQL and MongoDB services
Create
docker-compose.yamlat project root and add following services:redis:6,postgresql:17andmongo:8.- redis service should have
- password
rootroot - mapping port 6379 to 6379
- mounting volume
./redis_datato/data
- password
- postgresql service should have
- password
rootroot - mapping port 5432 to 5432
- mounting volume
./postgres_datato/var/lib/postgresql/data
- password
- mongo service should have
- initdb root username
root - initdb root password
rootroot - mapping port 27017 to 27017
- mounting volume
./mongo_datato/data/db
- initdb root username
- redis service should have
Add .gitignore file
- Insert
redis_data,postgres_dataandmongo_datadirectories in.gitignorefile
Run Maven test command
- Run maven clean test command to check if the project is working
./mvnw clean testRun Maven run command (Optional)
- (Optional)
docker-compose up -dto start the services,./mvnw spring-boot:runto run the Spring Boot project,docker-compose rm -sfto stop the services.
Let's do this step by step
Установить create-spring-boot-java-project
Скачайте и распакуйте файлы с навыками в вашу папку .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/github/awesome-copilot/blob/main/skills/create-spring-boot-java-project/SKILL.md # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
