Spring Boot Profilesの配置と使用について詳しく説明します。


紹介する
Spring Profilesは、異なるprofilesが異なる組み合わせの構成を提供する隔離アプリケーション構成のセットを提供しており、異なる環境では、アプリケーションは起動時に特定のprofilesをアクティブにすることによって、実行時の環境に適応し、異なる環境で同じプログラムコードを使用することができます。
環境
  • JDK 8
  • Maven 3
  • IntelliJ IDEA 2016
  • Spring Boot 1.5.2.RELEASE
  • @Profiles
    @Component(@Service、@Repository)または@Configrationの注釈表示の種類に@Profilesの注釈を使ってもいいです。
    
    public interface PaymentService {
      String createPaymentQrcode();
    }
    
    @Service
    @Profile("alipay")
    public class AlipayService implements PaymentService {
      @Override
      public String createPaymentQrcode() {
        return "        ";
      }
    }
    
    @Service
    @Profile({"default", "wechatpay"})
    public class WechatpayService implements PaymentService {
      @Override
      public String createPaymentQrcode() {
        return "       ";
      }
    }
    Spring Bootでは、デフォルトのprofileはdefaultであるため、PaymentService.createPaymentQrcode() -> マイクロクレジットは2次元コードを支払う。spring.profiles.active を通じて特定のprofileをアクティブにすることができます。
    
    java -jar -Dspring.profiles.active='alipay' xxx.jar
    PaymentService.createPaymentQrcode() -> は、アリペイに二次元コードを支払う。
    マルチ環境設定
    Spring Bootでは、多環境プロファイルは、appication-profile.{properties}の方式を使用することができる。
    
    @Component
    @ConfigurationProperties("jdbc")
    public class JdbcProperties {
      private String username;
      private String password;
      // getters and setters
    }
    
    開発環境 application-dev.properties 配置:
    
    jdbc.username=root
    jdbc.password=123654
    生産環境application-prod.properties 配置:
    
    jdbc.username=produser
    jdbc.password=16888888
    または:
    開発環境application-dev.yml配置:
    
    jdbc:
     username: root
     password: 123654
    生産環境application-prod.yml 配置:
    
    jdbc:
     username: produser
     password: 16888888
    または:
    appication.ymlのみを使用して、このファイルでは---セパレータによってマルチプロファイルの構成を作成します。
    
    app:
     version: 1.0.0
    spring:
     profiles:
      active: "dev"
    ---
    spring:
     profiles: dev
    jdbc:
     username: root
     password: 123654
    ---
    spring:
     profiles: prod
    jdbc:
     username: produser
     password: 16888888
    コマンドライン起動:
    
    java -jar -Dspring.profiles.active=prod xxxx.jar
    以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。