春Boot-基本構成

春ブーツ、いくつかの基本的な構成

グローバルコンフィギュレーション

基本的な使い方

src/main/resources春ブーツ、デフォルトの設定ファイルを定義することができますapplication.perprotiesapplication.yml

application.ymlグローバル・コンフィギュレーション・ファイルの作成、@valueがオブジェクトに注入使います

ranger:
  name: chenyaping
  age: 21
@Configuration
public class Ranger {
    @Value("${ranger.name}")
    private String name;

    @Value("${ranger.age}")
    private Integer age;
    
     public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Ranger{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

スプリングブートアプリケーションは、次のように容器から取得した印刷のレンジャー・インスタンスを開始します。

Ranger{name='chenyaping', age=21}

プロファイルは、スイッチを使用して実装します

構成属性クラスを作成します。EmailProperties

@ConfigurationProperties(prefix = "ranger.mail")
public class EmailProperties {
    private String username;

    private Integer port;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    @Override
    public String toString() {
        return "EmailProperties{" +
                "username='" + username + '\'' +
                ", port=" + port +
                '}';
    }
}

自動コンフィギュレーションクラスの作成

@Configuration
@EnableConfigurationProperties(EmailProperties.class)
@ConditionalOnProperty(prefix = "ranger.mail",value = "enable",matchIfMissing = false)
public class EmailSender {
    @Autowired
    private EmailProperties emailProperties;

    @Override
    public String toString() {
        return "EmailSender{" +
                "emailProperties=" + emailProperties +
                '}';
    }
}

開閉とするために、構成ファイルYAML電子メールの送信アセンブリを変更するranger.mail.enable偽であります

ranger:
  name: chenyaping
  age: 21
  mail:
    enable: true
    port: 22
    username: ${ranger.name}   # 属性间可以引用

することで、アプリケーションを起動するApplicationContext#getBean()電子メールの送信を取得し、次のように例外がスローされます:

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.ranger.boot.config.EmailProperties' available
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:346)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:337)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1123)
    at com.ranger.boot.Application.main(Application.java:22)

ranger.mail.enableでYAMLが真である場合には、以下のように、結果は以下のとおりです。

EmailProperties{username='chenyaping', port=22}
EmailSender{emailProperties=EmailProperties{username='chenyaping', port=22}}

このように、我々は、機能スイッチの設定ファイルを変更することで実現することができます

カスタム構成

application.ymlで構成プロパティに加えて、我々はまた、設定ファイルをカスタマイズすることができます。/ resourcesディレクトリの下にメインのsrc /でtest.propertiesを作成します。

test.username=ranger

コンフィギュレーション・クラスを作成します。

@Configuration
@ConfigurationProperties(prefix="test")
@PropertySource("classpath:test.properties")
public class CustomConfig {
    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Override
    public String toString() {
        return "CustomConfig{" +
                "username='" + username + '\'' +
                '}';
    }
}

注釈は@PropertySource("classpath:test.properties")、使用するプロファイルを指定します。印刷の実行を開始

CustomConfig{username='ranger'}

コマンドラインコンフィギュレーション

また、春のブートアプリケーションにコマンドラインを起動するには、設定ファイルのパラメータを渡すことができます

  1. 使用する-Dパラメータを設定します
@Configuration
public class CommandLineConfig {

    @Value("${args.username}")
    private String username;

    @Value("${args.age}")
    private String age;
    // getter,setter and toString
    
}

使用するmvn clean packageアプリケーションをパッケージ化するために、次に実行するには、次のコマンドラインを使用

java -jar -Dargs.username=ranger -Dargs.age=22 spring-boot-config-1.0-SNAPSHOT.jar

結果を見ることができます:CommandLineConfig{username='ranger', age='22'}パラメータが正常に設定クラスに注入されています

  1. 使用--

次のようにコマンドラインの変更を使用すると、次のとおりです。

java -jar spring-boot-config-1.0-SNAPSHOT.jar --args.username=ranger --args.age=22

私たちは、同じ結果を見ることができます

複数のプロファイルプロフィール

異なる設定ファイルを使用するためのプロフィール、設定ファイルには、さまざまな環境のためのマルチ環境でなければならないapplication-{profile}.yml形式寿命、{profile}環境に識別されます。2つのプロファイルの例については、定義

application-dev.yml

server:
    port: 8080

application-prod.yml

server:
    port: 80

私たちは、プロファイル属性値アクティブにするにはapplication.yml spring.profile.activeでこのプロパティを使用することができますapplication-{profile}.ymlprofile値を

カスタムブートbannner

SRC /メイン/リソースでbanner.txtファイルを作成し、独自のパターンに貼り付けることができます

おすすめ

転載: www.cnblogs.com/watertreestar/p/11785917.html