Spring Boot 1.3.8 @ Профиль и свойства - PullRequest
0 голосов
/ 24 сентября 2018

Я использую профили в своем приложении Spring Boot.В моем application.properties у меня есть 3 записи:

spring.profiles.active=prod
key1=demo. ...
key1=prod. ...

В настоящее время я должен раскомментировать строку в зависимости от того, является ли это демо или продуктивным выпуском.Есть ли лучший способ сделать это с помощью профилей Spring Boot?

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Вот как это может быть достигнуто:

  1. Использовать одно application.properties и иметь значения в следующем формате:

    redis.host=${REDIS_HOST}
    redis.port=${REDIS_PORT}
    
  2. Теперь используйте разные файлы .yml для сред разработки, промежуточных и промежуточных сред, где каждый файл имеет значения, относящиеся к конкретной среде.Например, dev.yml, staging.yml, prod.yml:

    // dev.yml
    REDIS_HOST=localhost
    REDIS_PORT=6379
    
    // staging.yml
    REDIS_HOST=staging-url
    REDIS_PORT=6576
    
    //prod.yml
    REDIS_HOST=produrl
    REDIS_PORT=5678
    
  3. Теперь запустите приложение с параметром профиля, передаваемым для разных сред:

    -Dspring.profiles.active=dev
    
0 голосов
/ 24 сентября 2018

Да, вы можете создавать файлы свойств с постфиксом имени вашего профиля и дампить его свойства, специфичные для профиля.

Например,

в вашем application-prod.properties это будет идти key1=prod. ...в вашем application-demo.properties этот пойдет key1=demo. ...

И при запуске сервера передайте этот параметр Java -Dspring.profiles.active=<profilename> или установите переменную env SPRING_PROFILES_ACTIVE=<profile_name>

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