gpt4 book ai didi

在构造函数中使用@ConfigurationProperties 和@Value 的Spring 前缀

转载 作者:行者123 更新时间:2023-12-01 03:41:05 26 4
gpt4 key购买 nike

我正在使用 @SpringBootApplication 注释通过 Spring Boot (1.2.0.RELEASE) 运行我的应用程序。

我试图实现的是在每个 @Value 注释中不使用长前缀的情况下实现以下目标:

应用程序属性

prefix.key1=value1
prefix.key2=value2

默认服务.java
@Service
@ConfigurationProperties("prefix")
public class DefaultService implements Service {
private final String key1;
private final String key2;

@Autowired
public DefaultService(@Value("${key1}") final String key1, @Value("${key2}") final String key2) {
this.key1 = key1;
this.key2 = key2;
}
}

我知道这可以在不使用 @Value 并且需要 setter ( @ConfigurationProperties prefix not working )或使用 http://docs.spring.io/spring-boot/docs/1.2.0.RELEASE/reference/htmlsingle/#boot-features-external-config-typesafe-configuration-properties 的情况下完成但我尝试在构造函数中实现它。

最佳答案

我不确定@value 的用法,但以下对我有用

@Service
@ConfigurationProperties(prefix="prefix")
public class DefaultService {
private String key1;
private String key2;


@PostConstruct
public void report(){
System.out.println(String.format("key1=%s,key2=%s", key1,key2));
}
public void setKey1(String key1) {
this.key1 = key1;
}

public void setKey2(String key2) {
this.key2 = key2;
}

应用程序属性
prefix.key1=value1
prefix.key2=value2

关于在构造函数中使用@ConfigurationProperties 和@Value 的Spring 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30775824/

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