In SpringBoot, I am trying to read the application.properties to Map which should be
```
application.properties
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
```
< /code>
Каждый раз, когда я пытаюсь распечатать его, используя GetServiceProperty (String Key). Карта - свойства всегда нулевы. Как будто он не инициализирован. )
public Class ServiceModelConfiguration {
Private Map Properties; < /p>
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
}
}
@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() );
}
}
@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