在stackoverflow上读了几个answers之后。我试图实现它的推荐方式,但我仍然没有在我的component
中获取字符串列表。
这是我的application.yml
文件
appName:
db:
host: localhost
username: userX
password: passX
driverClassName: org.postgresql.Driver
shipment:
providers:
supported1:
- one
- two
我的component
课程是
@Component
@ConfigurationProperties(prefix = "appName.shipment.providers")
public class ProviderUtil {
List<String> supported1;
/* This class has other util methods as well */
}
在这里,我期待supported1
将有one
和two
字符串列表,但它是null。有人可以帮助这里发生什么以及如何解决它?
你的类路径是否有spring-boot-configuration-processor依赖?试着看看here
并且还将您的bean从@Component更改为@Configuration
我按照这篇文章添加了列表的getter和setter。它为我解决了。
@Service("testservice")
@ConfigurationProperties(prefix="es")
public class TestService {
@Value("${url.endPoint}")
private String endpointUrl;
private List<String> scope;
public List<String> getScope() {
return scope;
}
public void setScope(List<String> scope) {
this.scope = scope;
}
..
}