Spring 引导如何替换 Spring 引导应用程序中的字符串 Class

Spring Boot how to replace string in Springboot Application Class

我的主文件如下所示。

@SpringBootApplication
@OpenAPIDefinition(info = @Info(title = "Test", version = "0.1"))
@SecurityScheme(
        name = "security_auth", type = SecuritySchemeType.OAUTH2, in = SecuritySchemeIn.HEADER,
        flows = @OAuthFlows(implicit = @OAuthFlow(
                authorizationUrl = "http://localhost:8080/auth/realms/master/protocol/openid-connect/auth",
                tokenUrl = "http://localhost:8080/auth/realms/master/protocol/openid-connect/token",
                scopes = {
                        @OAuthScope(name = "read"),
                        @OAuthScope(name = "write")
                }

        ))
)
@EnableScheduling
public class TestApplication {
    public static void main(String[] args) {SpringApplication.run(TestApplication.class, args);}

}

有没有办法通过环境变量设置 authorizationUrl 和 tokenUrl (application.properties)? 需要的参数是String,所以不能用@Value来注入值。

下面应该可以解决问题

authorizationUrl = "${your.custom.path}",

显然在你的 application.propperties

your.custom.path=http://localhost:8080/auth/realms/master/protocol/openid-connect/auth