gpt4 book ai didi

java - 如何在我的 Spring Boot 应用程序中使用配置文件 (properties/yml) 中的属性?

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:10 25 4
gpt4 key购买 nike

如何在我的 Spring 应用程序中使用外部配置?

package hello.example2.Container

import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import org.springframework.web.client.RestTemplate

@RestController
class ContainerController {
@RequestMapping("/container/{cid}")
public list(@PathVariable Integer cid) {
def template = new RestTemplate();
def container = template.getForObject("http://localhost:5050/container/" + cid.toString(), Container);
return container;
}
}

我想用配置选项(例如 application.yml 或 application.properties)替换“http://localhost:5050”。

这是我的应用程序文件(Groovy):

package hello.example2

import groovy.transform.CompileStatic
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.EnableAutoConfiguration
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.context.annotation.Configuration

@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@CompileStatic
class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

我尝试设置“@Configuration”和“@EnableAutoConfiguration”,但老实说我不知道​​它们在做什么。我是 Java/Groovy 和 Spring 框架的新手(但不是一般编程)。

我已经阅读了这些页面,但没有完整的示例,只有片段:

[1] http://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html

[2] https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

最佳答案

在您的配置文件(application.yml 或 application.properties)中添加一个新条目:

endpointUrl: http://localhost:5050

然后将该属性注入(inject)到您的 Controller 中:

@RestController
class ContainerController {

@Value("${endpointUrl}")
private String ednpointUrl;

@RequestMapping("/container/{cid}")
public list(@PathVariable Integer cid) {
def template = new RestTemplate();
def container = template.getForObject(endpointUrl+"/container/" + cid.toString(), Container);
return container;
}
}

关于java - 如何在我的 Spring Boot 应用程序中使用配置文件 (properties/yml) 中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39165783/

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