spring 将字符串列表从application.yml加载到组件中

mklgxw1f  于 2022-12-17  发布在  Spring
关注(0)|答案(2)|浏览(114)

在StackOverflow上阅读了几个answers之后,我尝试按照建议实现它,但是在我的@Component中仍然没有得到字符串列表。
下面是我的application.yml文件

  1. appName:
  2. db:
  3. host: localhost
  4. username: userX
  5. password: passX
  6. driverClassName: org.postgresql.Driver
  7. shipment:
  8. providers:
  9. supported:
  10. - one
  11. - two

我的@Component类是

  1. @Component
  2. @ConfigurationProperties(prefix = "appName.shipment.providers")
  3. public class ProviderUtil {
  4. List<String> supported;
  5. /* This class has other util methods as well */
  6. }

在这里,我期望supported有一个字符串列表onetwo,但它是null。有人能帮助我理解这里发生了什么以及如何解决它吗?

mkshixfv

mkshixfv1#

类路径上有spring-boot-configuration-processor依赖项吗?
同时将bean从@Component更改为@Configuration

v1l68za4

v1l68za42#

我关注了这篇文章,并为列表添加了getter和setter。

代码:

  1. @Service("testservice")
  2. @ConfigurationProperties(prefix="es")
  3. public class TestService {
  4. @Value("${url.endPoint}")
  5. private String endpointUrl;
  6. private List<String> scope;
  7. public List<String> getScope() {
  8. return scope;
  9. }
  10. public void setScope(List<String> scope) {
  11. this.scope = scope;
  12. }
  13. // ...
  14. }
展开查看全部

相关问题