Как получить значение файла свойств весенней загрузки как Map - PullRequest
0 голосов
/ 10 октября 2019

В моем проекте есть требование получить значения файла свойств на карте. Вот как я написал код для получения значения файла свойств на карте. Но значения не являются обязательными в карте. Как я могу достичь этого. Что-то, что я пропустил?

special.properties

@Configuration
@ConfigurationProperties(prefix = "specialist")
@PropertySource("classpath:specialist.properties")
public class SpecialistProperties {


    private Map<String,String> specialist=new HashMap<String,String>();

public Map<String, String> getSpecialist() {
    return specialist;
}

public void setSpecialist(Map<String, String> specialist) {
    this.specialist = specialist;
}

}

Класс контроллера:

@RestController
    public class MyappController {


        @Autowired
        private SpecialistProperties specialistProperties;

        @GetMapping(value="/specialist")
        public Map<String,String> getSpecialist()
        {
            return specialistProperties.getMap();
        }

    }

special.properties

specialist.name=Sam
specialist.availableDay=Wednesday
specialist.availableTime=5PM

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Я сделал ошибку, добавив @ ConfigurationProperties (префикс = "специалист") . Нет необходимости префикс = "специалист" . Поскольку значение свойства карты я добавил как специалист , поэтому нет необходимости в специалисте в префиксе ConfigurationProperties. После смены все заработало хорошо.

@Configuration
@ConfigurationProperties
@PropertySource("classpath:specialist.properties")
public class SpecialistProperties {


    private Map<String,String> prop=new HashMap<String,String>();

    public Map<String, String> getProp() {
        return prop;
    }

    public void setProp(Map<String, String> prop) {
        this.prop = prop;
    }
}
0 голосов
/ 10 октября 2019

Вы можете установить свойства, как показано ниже.

Создать файл с именем: application.properties со следующим кодом:

    example.hello=Hello
    example.user=Abhimanyu
    example.howru=How are you?
    example.mapProperty.key1=MapValue1
    example.mapProperty.key2=MapValue2
    example.listProperty[0]=ListValue1
    example.listProperty[1]=ListValue2

ИЛИ:

Создайте файл с именем: application.yml со следующим кодом

    example:
      hello: Hello
    user: Abhimanyu
    howru: How are you?
    mapProperty:
      key1: MapValue1
      key2: MapValue2
    listProperty:
      ListValue1
      ListValue2

И вы можете проверить / отформатировать свой файл yaml онлайн, посетив https://jsonformatter.org/yaml-validator

Для справки перейдите по ссылке: http://jcombat.com/spring/how-to-read-properties-using-spring-boot-configurationproperties

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...