如何使用 Kotlin 在 Spring Test 类中注入服务组件?

Posted

技术标签:

【中文标题】如何使用 Kotlin 在 Spring Test 类中注入服务组件?【英文标题】:How to inject a service component in Spring Test class using Kotlin? 【发布时间】:2021-01-23 15:11:19 【问题描述】:

我正在尝试测试业务逻辑/服务。在我的 Spring Boot 应用程序中使用 Kotlin,我正在尝试使用测试类构造函数来实例化我的服务。但这是不允许的,因为我收到了ParameterResolutionException

这是我的代码:

@SpringBootTest
class IntermediateApplicationTests(val ticketService: TicketService) 


    @Test
    fun contextLoads() 
    


我怎样才能做到这一点?

感谢您的每一个帮助!

【问题讨论】:

【参考方案1】:

您可以使用@Autowired 注释来做到这一点:

@SpringBootTest
class IntermediateApplicationTests @Autowired constructor(
    val ticketService: TicketService
) 


    @Test
    fun contextLoads() 
    


事实上,这是推荐的注入方式,如果你以其他方式进行,IDEA Spring 插件会报错。

【讨论】:

以上是关于如何使用 Kotlin 在 Spring Test 类中注入服务组件?的主要内容,如果未能解决你的问题,请参考以下文章

kotlin spring @value 注解

如何在 Spring Boot 和 Spring WebFlux 中使用“功能 bean 定义 Kotlin DSL”?

如何使用 Kotlin 在 Spring JPA 中正确查询实体

如何使用 graphql-kotlin 在 Spring Boot 服务器中添加 CORS 标头?

如何使用 Kotlin、Gradle 和 Web 框架设置 Spring Loaded?

如何启动 2.4.0 和 kotlin 1.4.20