# spring

Правило подсказывает, как организовать Spring Boot-код, внедрять зависимости и обрабатывать типичные проблемы. Пригодится, когда агент пишет или пересматривает Java-код проекта.

- правило · `type=rule` · Cursor · ★ 3580
- Автор: sanjeed5
- Лицензия: CC0-1.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/spring.mdc
- Обновлён: 2026-05-19
- HTML: https://affpapa.org/nevibecode/rules/spring

## Что делает

Правило охватывает структуру пакетов и конфигурационных классов, внедрение зависимостей через конструктор и неизменяемые модели данных. Оно также предлагает загружать связанные данные без N+1 запросов и проверять пользовательский ввод на границе API.

Для ошибок описан общий обработчик через `@ControllerAdvice`; автоматическую конфигурацию советуют отключать лишь при необходимости. В примерах записи приведены для Java, включая `record` из Java 16+. Это правило для файлов `**/*.java`, а не руководство по настройке всего проекта.

## Установка

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

**Вручную: положить файлы**
- Файл: `.cursor/rules/spring.mdc` — Во frontmatter: description, globs, alwaysApply

### Claude Code

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

### Codex

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

### GitHub Copilot

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

### Windsurf (Devin Desktop)

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

### Cline

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/sanjeed5/awesome-cursor-rules-mdc/tree/HEAD/rules-mdc/spring.mdc

## Когда брать
- разнести bean-конфигурацию по отдельным классам
- заменить внедрение зависимостей через поля на конструктор
- устранить N+1 запросы при загрузке связанных данных
- добавить проверку входных данных на границе API
- свести обработку исключений к общему обработчику

## Примеры запросов агенту
- Проверь Java-код на соответствие правилу Spring Boot и предложи конкретные исправления.
- Переработай этот сервис: замени внедрение через поле на конструктор и устрани N+1 запросы.
- Проверь API-метод создания пользователя: добавь валидацию входных данных и учти глобальную обработку ошибок.

## Похожие
- [spring-boot-test-patterns](https://affpapa.org/nevibecode/skills/spring-boot-test-patterns.md) — скилл · 4300 установок
- [spring-boot-crud-patterns](https://affpapa.org/nevibecode/skills/spring-boot-crud-patterns.md) — скилл · 3900 установок
- [java-spring-boot](https://affpapa.org/nevibecode/skills/java-spring-boot.md) — скилл · 11800 установок
- [spring-boot-engineer](https://affpapa.org/nevibecode/skills/spring-boot-engineer.md) — скилл · 8400 установок
- [spring-boot](https://affpapa.org/nevibecode/skills/spring-boot.md) — скилл · 832 установки
- [spring-framework](https://affpapa.org/nevibecode/skills/spring-framework.md) — скилл · 731 установка

Из того же набора: [sanjeed5/awesome-cursor-rules-mdc](https://affpapa.org/nevibecode/by/sanjeed5/awesome-cursor-rules-mdc.md) — 240 карточек

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

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