[英]How to autowire service with implicit ExecutionContext argument
在我從事的 Scala 項目中,我們有一個 API,它可以在早期導入這樣的全局執行上下文
import scala.concurrent.ExecutionContext.Implicits.global
我后來創建了一個需要上述執行上下文的 UserStorageService。 我正在嘗試將 Spring Annotations 引入到我的應用程序中,但我在如何處理執行上下文方面陷入困境。 如何自動裝配隱式變量? 我試過這個
class UserStorageService(
@Qualifier("userdb") val databaseConnector: DatabaseConnector
)(implicit executionContext: ExecutionContext) extends UserStorageTable {
我試圖得到
private val userStorageService = appContext.getBean(classOf[UserStorageService])
導致
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'scala.concurrent.ExecutionContext' available:
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
導入這個:
import scala.concurrent.ExecutionContext;
import scala.concurrent.ExecutionContext$;
並在您的配置( @Configuration
)中添加這個
@Bean
public ExecutionContext getExecutionContext() {
return ExecutionContext$.MODULE$.global();
}
並且ExecutionContext
bean 將被添加到 Spring 上下文中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.