当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:使用@ConfigurationProperties从yaml读取对象列表始终返回null

宰父智敏
2023-03-14

我想创建一个yaml文件,从中获取常量

ConstantConfiguration。yml公司

constants:
 myList:
   -
     id: 11
     name: foo1
     firstName: bar1
     allowed: true
   -
     id: 22
     name: foo2
     firstName: bar2
     allowed: false

配置类如下所示:

@Data
@Component
@PropertySource("classpath:constantsConfiguration.yml")
@ConfigurationProperties(prefix = "constants")
public class ConstantProperties {

    private List<User> myList;

    @Data
    public static class User{
        private String id;
        private String name;
        private String firstName;
        private Boolean allowed;

    }
}

这是一个我想要如何使用它的虚拟示例

@Service
@RequiredArgsConstructor
public class MyService{

   private final ConstantProperties constantProperties;

   public Boolean isEmptyList(){
       return CollectionUtils.isEmpty(constantProperties.getMyList());
   }
}

<代码>恒定属性。getMyList()始终为空我使用的是spring boot:2.5.12和java 11

共有1个答案

曹光霁
2023-03-14

在您的MyService中:

@EnableConfigurationProperties(value = ConstantProperties.class)

你可以试试看。

 类似资料:
  • java.lang.IllegalArgumentException:无法解析字符串值“${cors.hosts.allow}”中的占位符“cors.hosts.allow” 当我这样更改文件时,属性可以被读取,但它自然不包含列表,而只包含一个条目: (我知道我可以将值作为单行读取,并将它们按拆分,但我还不想采用变通方法) 这也不起作用(尽管我认为根据snakeyamls文档,这应该是有效的):

  • 我正在尝试从application.yml.中检索值下面的最后一行显示kafkaConfig为null,无法读取。如何正确设置Kafka配置和代码以从json文件中读取?我们使用@Data而不是getters/setters。 KafkaConfig.java 应用yml公司 KafkaProducerBeans.java 资源:https://codingnconcepts.com/spring

  • 我的springboot应用程序尝试从两个数据源(emwbis和backupemwbis)读取数据。我按照下面的链接配置了我的springboot应用程序以从两个不同的数据源读取数据。 http://www.baeldung.com/spring-data-jpa-multiple-databases 我的应用程序当前的问题是,它总是从主数据源(emwbis)读取数据。我已经编写了以下代码。 主数

  • 我使用mysql存储过程来检索对象列表。这可能吗? 我在看这篇文章 问题: > 如何使用结果集检索select语句中的对象列表? 如何将结果集映射到对象列表? CREATE DEFINER=@PROCEDURE(ININT,OUTINT,OUTINT,OUTVARCHAR(50),OUTVARCHAR(50),OUTFLOAT 内部连接(从rate中选择aid,r.rate,re.country_

  • 问题内容: 我以前使用过媒体播放器,但从未遇到过此问题。每当我尝试使用MediaPlayer.create()时,该方法都会使我为null,并且无法播放声音。有什么我想念的吗? 我的sound.mp3在我的原始文件夹中,通过将声音拖到eclipse中的文件夹中,我将其放置在其中。请帮忙,因为我以前玩过声音,所以这真的困扰我:( 问题答案: 如果create() API由于某种原因失败,则返回nul