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

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

Сообщение Anonymous »

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

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