gpt4 book ai didi

Micronaut 不是 Failfast

转载 作者:行者123 更新时间:2023-12-02 00:56:11 24 4
gpt4 key购买 nike

我正在尝试使用 Micronaut。我注意到的一件事是 Micronaut 不会快速失败。

例如,如果我的 bean 中有这样的东西

@Value("${my.url}")
private String url;

如果没有使用 key my.url 定义的属性,则
  • 使用 Springboot,服务器将无法启动。
  • 随着 Micronaut 服务器将启动。但是在尝试访问该变量时会引发异常。

  • 我认为失败会更好(如在 springboot 中)。所以想知道这是否也适用于 micronaut。

    最佳答案

    您可以使用 @ConfigurationProperties为此,请确保它是 @Context范围,因为默认情况下 Micronaut bean 不会在启动时创建。通过制作它们 @Context应用程序启动时将创建 bean 的范围。

    下列:

    import io.micronaut.context.annotation.*;
    import javax.validation.constraints.*;

    @ConfigurationProperties("my")
    @Context
    class MyConfig {

    private @NotNull String url;

    public String getUrl() {
    return url;
    }

    public void setUrl(String url) {
    this.url = url;
    }

    }

    结果是
    08:38:38.568 [main] ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Bean definition [fresh.java.MyConfig] could not be loaded: Error instantiating bean of type  [fresh.java.MyConfig]

    Message: Validation failed for bean definition [fresh.java.MyConfig]
    List of constraint violations:[
    url - must not be null
    ]


    服务器启动时。

    确保添加此依赖项
    compile "io.micronaut.configuration:micronaut-hibernate-validator"

    关于Micronaut 不是 Failfast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54050663/

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