today I'm learning build API using kotlin and spring boot. In rails and laravel have a "tool" for database seeder, I want to know in kotlin and spring boot, I have been searched on google before and found this answer https://stackoverflow.com/a/45324578/1297435, in spring boot we can use @EventListerner
like
@EventListener
public void userSeeder(ContextRefreshedEvent event) {
// my query
// check query size and iteration
}
That's in spring boot, but is there a way in kotlin?
// main/kotlin/com.myapp.api/seeder/UserSeeder.kt
package com.myapp.api.seeder
import org.springframework.context.event.ContextRefreshedEvent
import com.myapp.api.repository.*
import com.myapp.api.model.*
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Component
interface EventListener
@Component
class UserSeeder {
@Autowired
lateinit var repository: UserRepository
@EventListener
fun seedUsername(event: ContextRefreshedEvent) {
val users = repository.findByUsernameBlank()
if (users == null || users!!.size <= 0) {
//
} else {
//
}
}
}
@EventListener
class doesn't work in kotlin or is it correct?
Error:(15, 6) Kotlin: This class does not have a constructor