# Java/JVM (Spring, и др.) ## Признаки платформы - `pom.xml` (Maven) - `build.gradle`, `build.gradle.kts` (Gradle) - `settings.gradle` (несколько модулей) - `src/main/java/`, `src/main/kotlin/` - `application.properties`, `application.yml` ## Признаки многомодульного проекта - Несколько `pom.xml` с `` - Несколько `build.gradle` с `include()` - `modules/`, `services/` каталоги ## Источники перед созданием навыка - `pom.xml` или `build.gradle*` (зависимости) - `application.properties/yml` (конфигурация) - `settings.gradle` (модули) - `docker-compose.yml` (сервисы) ## Что искать в кодовой базе ### Корневые каталоги исходников - `src/main/java/`, `src/main/kotlin/` - `src/test/java/`, `src/test/kotlin/` ### Типовые слои и каталоги: зафиксируй найденные `controller/`, `service/`, `repository/`, `model/`, `entity/`, `dto/`, `config/`, `exception/`, `util/` ### Признаки шаблонов | Шаблон | Критерии обнаружения | Имя навыка | |---------|-------------------|------------| | REST Controller | `@RestController`, `@GetMapping`, `@PostMapping` | spring-controller | | Service | `@Service`, `class *Service` | spring-service | | Repository | `@Repository`, `JpaRepository`, `CrudRepository` | spring-repository | | Entity | `@Entity`, `@Table`, `@Id` | jpa-entity | | DTO | `class *DTO`, `class *Request`, `class *Response` | dto-pattern | | Config | `@Configuration`, `@Bean` | spring-config | | Component | `@Component`, `@Autowired` | spring-component | | Security | `@EnableWebSecurity`, `SecurityFilterChain` | spring-security | | Validation | `@Valid`, `@NotNull`, `@Size` | validation-pattern | | Exception Handler | `@ControllerAdvice`, `@ExceptionHandler` | exception-handler | | Scheduler | `@Scheduled`, `@EnableScheduling` | scheduled-task | | Event | `ApplicationEvent`, `@EventListener` | event-listener | | Flyway Migration | `V*__*.sql`, `flyway` | flyway-migration | | Liquibase | `changelog*.xml`, `liquibase` | liquibase-migration | | Unit Test | `@Test`, `@SpringBootTest`, `MockMvc` | spring-test | | Integration Test | `@DataJpaTest`, `@WebMvcTest` | integration-test | ## Обязательные разделы результата Добавь, если найдено: - **Контроллеры**: конечные точки REST - **Сервисы**: бизнес-логика - **Репозитории**: доступ к данным (JPA, JDBC) - **Сущности/DTO**: модели данных - **Конфигурация**: бины и профили Spring - **Безопасность**: настройки аутентификации ## Откуда брать команды - `pom.xml` плагины, `build.gradle` задачи - README, документация и CI - Обычные команды: `./mvnw`, `./gradlew`, `mvn test`, `gradle test` - Добавляй только команды, которые есть в репозитории ## Основные пути - `src/main/java/`, `src/main/kotlin/` - `src/main/resources/` - `src/test/` - `db/migration/` (Flyway)