gpt4 book ai didi

spring-boot - SpringBoot 中的 Kotlin - `init` block 的初始化顺序

转载 作者:行者123 更新时间:2023-12-02 13:40:07 24 4
gpt4 key购买 nike

以下情况是在 Kotlin 和 SpringBoot 上下文中。
我想知道Kotlin的init的初始化是否在执行所有依赖注入(inject)之前或之后执行 block 。
直觉 init在创建类时执行,因此它不会等待模具 DI 框架准备好。这可能会导致潜在的问题。
有没有人有更多的信息或文件?

最佳答案

仅以 Spring-Boot 为例:

package com.example.demo

import org.springframework.stereotype.Controller
import org.springframework.stereotype.Service
import org.springframework.web.bind.annotation.GetMapping

@Controller
class MyController(private val service: MyService) {

init {
println("MyController Init")
}

@GetMapping("/")
fun foo(): String = "bar"
}

@Service
class MyService {

init {
println("MyService Init")
}
}
将打印以下行:
MyService Init
MyController Init
所以依赖将首先被初始化。之后 init类的将被调用。 init函数将在 Kotlin 类的构造函数之前执行。

关于spring-boot - SpringBoot 中的 Kotlin - `init` block 的初始化顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64257605/

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