Spring @Autowire no trabaja en Kotlin

Para la tarea de mi universidad, necesito usar varios methods para inyectar dependencies, estoy atascado en autowire usando la anotación, porque dice que la dependencia no se ha inicializado. Mi código:

class TeleporterDeliveryMethod: DeliveryMethod { @Autowinetworking lateinit var teleporter: Teleporter override fun deliver(pkg: Package): Int { teleporter.teleport(pkg) return 0 } } 

Clase de teleportador:

 class Teleporter3000 : Teleporter { override fun teleport(pkg: Package) { println("Teleporting package ${pkg.id}...") } } 

También tengo esto definido en xml:

 <bean id="teleporterDeliveryMethod" class="app.delivery.TeleporterDeliveryMethod"/> <bean id="teleporter" class="app.delivery.Teleporter3000" scope="prototype"/> 

Teleporter es una interfaz con un método de teleport(...)

Cuando se ejecuta este código, la compilation dice: Exception in thread "main" kotlin.UninitializedPropertyAccessException: lateinit property teleporter has not been initialized

Si inyecté dependencies en xml manualmente, funciona como se esperaba:

 class="app.delivery.TeleporterDeliveryMethod"> <property name="teleporter" ref="teleporter"/> </bean> 

Incluso el autoenvío funciona en xml:

 <bean id="teleporterDeliveryMethod" class="app.delivery.TeleporterDeliveryMethod" autowire="byType"/>