Spring Boot не в состоянии инициализации @ConfigurationProperties для свойств картыJAVA

Программисты JAVA общаются здесь
Anonymous
Spring Boot не в состоянии инициализации @ConfigurationProperties для свойств карты

Сообщение Anonymous »

В Springboot я пытаюсь прочитать приложение. p>
input.default.host=Default
input.default.ip=127.0.0.1
input.default.desc=Default Desc

input.serviceA.host=ServiceA
input.serviceA.ip=192.168.21.1
input.serviceA.desc=ServiceA Desc

input.serviceB.host=ServiceB
input.serviceB.ip=192.168.21.22
input.serviceB.desc=ServiceB Desc

всякий раз, когда я пытаюсь распечатать его, используя getserviceproperty (string key) Свойства карты всегда являются нулевыми , как если бы они не инициализированы.
br /> Вот подробности классов-< /p>
@Component
@ConfigurationProperties(prefix = "input")
public class ServiceModelConfiguration {
private Map properties;

public Map getProperties() {
return properties;
}
public void setProperties(Map properties) {
this.properties = properties;
}

public ServiceModel getServiceProperty(String key) {
ServiceModel specificProperty = properties.get(key);
return specificProperty;
}

public static class ServiceModel {
private String host;
private String ip;
private String desc;

public ServiceModel(String host, String ip, String desc) {
this.host = host;
this.ip = ip;
this.desc = desc;
}

// Getters
// Setters
}
}
< /code>
@Service
public class PrintServices {
private final ServiceModelConfiguration serviceModelConfiguration;

@Autowired
public PrintServices(ServiceModelConfiguration serviceModelConfiguration) {
this.serviceModelConfiguration = serviceModelConfiguration;
}
public void printAllServiceProperties() {
System.out.println("Host: "
+ serviceModelConfiguration.getServiceProperty("serviceA").getHost());
System.out.println("IP: "
+ serviceModelConfiguration.getServiceProperty("serviceA").getIp());
System.out.println("Desc: "
+ serviceModelConfiguration.getServiceProperty("serviceA").getDesc());
}
}
< /code>
@SpringBootApplication
@EnableConfigurationProperties(ServiceModelConfiguration.class)
public class ConfigApplication implements CommandLineRunner {
@Autowired private PrintServices printServices;

public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
}

@Override
public void run(String... args) throws Exception {
printServices.printAllServiceProperties();
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... properties

Вернуться в «JAVA»