ideabrowser.com — find trending startup ideas with real demand
Try itnpx skills add https://github.com/github/awesome-copilot --skill kotlin-springbootYour goal is to help me write high-quality, idiomatic Spring Boot applications using Kotlin.
pom.xml) or Gradle (build.gradle) with the Kotlin plugins (kotlin-maven-plugin or org.jetbrains.kotlin.jvm).kotlin-jpa plugin to automatically make entity classes open without boilerplate.spring-boot-starter-web, spring-boot-starter-data-jpa) as usual.com.example.app.order, com.example.app.user) rather than by layer.private val in the primary constructor. Prefer val over var everywhere to promote immutability.@Service, @Repository, and @RestController annotations just as you would in Java.application.yml for its readability and hierarchical structure.@ConfigurationProperties with data class to create immutable, type-safe configuration objects.application-dev.yml, application-prod.yml) to manage environment-specific configurations.data class for all DTOs. This provides equals(), hashCode(), toString(), and copy() for free and promotes immutability.@Valid, @NotNull, @Size) on your DTO data classes.@ControllerAdvice and @ExceptionHandler for consistent error responses.@Service classes.@Transactional on service methods. In Kotlin, this can be applied to class or function level.open. It's highly recommended to use the kotlin-jpa compiler plugin to handle this automatically.?) to clearly define which entity fields are optional or required at the type level.JpaRepository or CrudRepository.companion object {
private val logger = LoggerFactory.getLogger(MyClass::class.java)
}
logger.info("Processing user {}...", userId)) for performance and clarity.@WebMvcTest or @DataJpaTest to test specific parts of the application.suspend functions: For non-blocking asynchronous code, use suspend functions in your controllers and services. Spring Boot has excellent support for coroutines.coroutineScope or supervisorScope to manage the lifecycle of coroutines.