java Spring Boot :配置属性(带Map)

mwkjh3gx  于 2023-03-16  发布在  Java
关注(0)|答案(1)|浏览(200)

使用 Spring Boot 2.7.7。无法将工作Map配置获取到Map<String, Integer>
这是我的申请.yml

limiter:
  settings:
    a: 1
    b: 2

具有属性的我的类:

@Component
@ConfigurationProperties(prefix = "limiter.settings")
@Getter
@Setter
@AllArgsConstructor
public class LimiterSettings {
    private final Map<String, Integer> settings;
}

这是我尝试使用它的方式:

@EnableConfigurationProperties(LimiterSettings.class) // doesn't affects
public class LimiterService implements ILimiterService {
    @Autowired
    public LimiterSettings limiterSettings;

结果是Map为空。如果只使用int字段和LimiterSettings中的对应名称,效果很好。请帮助这里出了什么问题?

nle07wnf

nle07wnf1#

对于问题中给出的yaml文件,它应该是:

@ConfigurationProperties(prefix = "limiter").

相关问题