# springboot

Правило задаёт Copilot стиль кода для Spring Boot: внедрение зависимостей, конфигурация, логирование и проверка сборки.

- правило · `type=rule` · GitHub Copilot · ★ 40451
- Автор: github · официальный репозиторий GitHub
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/github/awesome-copilot/tree/HEAD/instructions/springboot.instructions.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/rules/springboot

## Что делает

Файл-правило подключается к GitHub Copilot и применяется к файлам `**/*.java` и `**/*.kt`. Внутри — набор инструкций по разработке на Spring Boot: конструкторное внедрение зависимостей с полями `private final`, внешняя конфигурация через `application.yml`, профили для dev, test и prod, привязка настроек через `@ConfigurationProperties`. Секреты выносятся в переменные окружения или системы управления секретами.

Структура кода описана по домену, а не по слоям. Контроллеры остаются тонкими, бизнес-логика уходит в классы с `@Service`, сервисы не хранят состояние. Логирование — только через SLF4J с параметризованными сообщениями, без `System.out.println()` и конкретных реализаций вроде Logback или Log4j2. Для защиты от SQL-инъекций правило требует Spring Data JPA или `NamedParameterJdbcTemplate`, а тела запросов и параметры проверяются аннотациями JSR-380 (`@NotNull`, `@Size`) вместе с `BindingResult`.

После правок правило просит убедиться, что проект собирается: `mvn clean package` для Maven или `./gradlew build` для Gradle, тесты должны проходить в рамках сборки. Отдельная таблица сводит команды запуска, сборки, тестов и упаковки в JAR или контейнерный образ. Без установленного Maven или Gradle-обёртки в проекте эти шаги не сработают.

## Установка

### GitHub Copilot (родная платформа)

**Вручную: положить файлы**
- Файл: `.github/instructions/springboot.instructions.md` — Поле applyTo задаёт, к каким файлам применять

### Claude Code

**Вручную: положить файлы**
- Файл: `.claude/rules/springboot.md` — Поле paths во frontmatter ограничивает файлы: applyTo из источника → paths

### Codex

**AGENTS.md**
- Codex читает AGENTS.md: вставьте текст правила туда

### Cursor

**Вручную: положить файлы**
- Файл: `.cursor/rules/springboot.mdc` — Во frontmatter: description, globs, alwaysApply. applyTo из источника → globs, иначе правило само не подключится

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/rules/springboot.md`

### Cline

**Вручную: положить файлы**
- Файл: `.clinerules/springboot.md`

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/github/awesome-copilot/tree/HEAD/instructions/springboot.instructions.md

## Когда брать
- задать Copilot единый стиль кода для Spring Boot
- перевести конфигурацию на `application.yml` и профили
- вынести секреты из кода в переменные окружения
- заменить `System.out.println()` на параметризованный SLF4J
- проверить сборку и тесты после правок

## Примеры запросов агенту
- Добавь новый REST-контроллер для заказов по правилам springboot
- Переведи конфигурацию этого сервиса на `application.yml` с профилями dev и prod
- Проверь, что после правок проект собирается через `./gradlew build`

Из того же набора: [github/awesome-copilot](https://affpapa.org/nevibecode/by/github/awesome-copilot.md) — 928 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
