gpt4 book ai didi

kotlin - 如何通过 gradle 任务执行具有依赖注入(inject)的特定类方法?

转载 作者:行者123 更新时间:2023-12-02 13:06:58 34 4
gpt4 key购买 nike

这是我在 build.gradle 中的代码

task runDataFeeder(type:JavaExec){
classpath = sourceSets.main.runtimeClasspath
main = "example.core.RunMigrator"
}
还有我的 RunMigrator类(class)
class Migrator(@Inject val seedDataService: seedDataService) {
fun migrate() {
seedDataService.createZone()
}
}

class RunMigrator {
companion object {
@JvmStatic
fun main(args: Array<String>) {
Migrator().migrate()
}
}
}
备注 seedDataService具有向数据库提供数据的方法。
我正在尝试运行 RunMigrator Gradle 任务中的 main 方法,但不知道如何注入(inject) seedDataService通过 Gradle 任务

最佳答案

我认为您应该初始化应用程序上下文以启动 DI。它在Java中工作:

import io.micronaut.context.ApplicationContext;

public class RunMigrator {

public static void main(String[] args) {

try (ApplicationContext applicationContext = ApplicationContext.run()) {
Migrator migrator = applicationContext.getBean(Migrator.class);
migrator.migrate();
}
}
}

关于kotlin - 如何通过 gradle 任务执行具有依赖注入(inject)的特定类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63085507/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com