У меня есть эти свойства в моем файле YAML:
request-topic:
topics:
IMPORT_CHARGES: topic-name-1
IMPORT_PAYMENTS: topic-name-2
IMPORT_CATALOGS: topic-name-3
И этот класс:
@Getter
@Setter
@Component
@ConfigurationProperties(prefix = "topic-properties")
public class TopicProperties {
private Map<String, String> topics = new HashMap<>();
public String getTopicNameByType(String type){
return topics.get(type);
}
}
Но когда я автоматически подключаю эти свойства, я получаю пустую карту:
@Service
public class TopicRouterImpl implements TopicRouter {
private final TopicProperties topics;
public TopicRouterImpl(TopicProperties topics) {
this.topics = topics;
}
@PostConstruct
public void init(){
topics.getTopicNameByType("IMPORT_CHARGES");
}
@Override
public String getTopicName(MessageType messageType) {
return topics.getTopicNameByType(messageType.name());
}
}