春ブーツシリーズ(2) - 構成関連

億、春ブーツグローバルコンフィギュレーション・ファイル

  することにより、以前の春のブートプロジェクトをビルドするとき、我々は知ることができ、春ブーツプロジェクトは、デフォルトの設定となっています。しかし、実際には、各プロジェクトは、独自の特殊性を持っている、それだけで、デフォルトの設定、追加したり、独自の構成の一部を変更する必要性を使用することは不可能です。

  春のブートコンフィギュレーションファイルには、2つの形式があります。

    - > application.properties

    - > application.yml(または.yaml)特徴と構文

  グローバルコンフィギュレーション・ファイル(application.xxx)の名前が接尾辞は、いずれかを選択することができ、固定されています。configure効果には2つの形式と似ていますが、構文が多少異なります。

 

まず、デフォルトの設定を変更します

  すべての項目の1.Springブートデフォルトの設定:https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#core-properties

  2.私たちは、これらの設定項目のいずれかを変更したい場合は、あなただけの書き込み、直接私たちのプロジェクトグローバル・コンフィギュレーション・ファイルのデフォルトの設定を上書きすることができます。

    たとえば、次のように変更(今8081に改訂されたデフォルトは8080で、)サーバーのポート番号

    書かれた.ymlファイル書かれた(左).propertiesファイル(右)

                         

 

 

    プログラムを再起動すると、ポート番号が変更されている見ることができます  

    

 

ConfigurationProperties @使用 - 第二には、カスタム設定を取得します

  我々は彼らの特性プロファイルの割り当てを通じてそのJava Beanと希望を作成する場合:

  1.書き込みJavaの豆

  

 

  2.パラメータ設定(音名に相当緩く結合構文をサポートするために):

 

  

 

 

 

   その中でも3、クラスの前でメモを追加する必要があります。

1 /**
2  * @ConfigurationProperties->将本来属性与配置文件中相关的参数绑定
3  * prefix->表示前缀
4  * @ConfigurationProperties只能对在Spring容器的类起作用
5  * @Component->表示Spring容器组件
6  */
7 @Component
8 @ConfigurationProperties(prefix = "people")

 

  4.@ConfigurationProperties需要导入配置文件解析器依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-configuration-processor</artifactId>
     <optional>true</optional>
</dependency>

 

  5.测试运行

  

 

  

 

三、获取自定义配置——使用@Value

  1.使用@Value注解,其实就像Spring xml配置中的value=" "

<bean id=”” class=””>
   <property name=”属性名” value=”值”></property>
</bean>

  

  2.在Java bean属性前加上@Value("配置参数名")

  

 

 

  3.测试运行

   

  

 

  

 

  4.@ConfigurationProperties与@Value对比

   

 

 

四、引入自定义配置文件

  @ConfigurationProperties与@Value注解的配置,都是默认从全局配置文件(application.properties/.yml)中获取值。当我们太多参数要配置,需要一个额外的配置文件来写参数时,可以用以下方法配置。

  1.使用@PropertySource注解引入指定配置文件

    (1)创建自定义的配置文件,内容格式如同上面所谈

    

 

 

 

     (2)在需要配置的类前加上注解

    注意:若全局配置文件中的参数与自定义配置文件中的参数相同,优先使用全局配置文件的参数

    

 

 

五、为容器添加组件(bean)

  1.xml配置方式(早期spring风格)

    (1)用xml文件配置<bean>...</bean>    (2)在启动类上用@ImportResource注解引入该xml文件

  

  2.注解配置方式(配置类)

    (1)若在一个类前加上@Configuration注解,则表示这个类为配置类

    (2)在配置类的方法前加上@Bean注解,则表示该方法为一个 Java bean,并将该bean加入Spring容器中(bean名为方法名)

    

    (3)测试运行

    

 

 

 六、配置文件切换

  当我们开发阶段和生产阶段使用的配置参数不一样,又不想频繁将文件中的参数改来改去。我们可以同时创建多份同参数不同值的自定义配置文件,并在全局配置文件中指定使用哪一份。

  1.profile切换(.properties文件)

    方法:可以新建多个application-{profile标识}.properties/.yml,在全局配置文件中用'spring.profiles.active=profile标识' 指定当前所用配置文件。

    (1)分别新建profile文件并添加配置:

    application-development.properties——>配置端口号为8082,

    application-produce.properties——>配置端口号为8083

    在全局配置文件application.properties中填写spring.profiles.active=development

    

    (2)启动程序

    

 

 

  2.profile切换(yaml多文档块)

    方法:在全局配置文件application.yml中,用‘---’(三个小横杠)切分文档

    注意:当.yml配置文件和.properties文件并存时,优先.properties文件生效

    

 

 

  3.配置文件切换(命令行参数)

    java -jar jar包路径 --spring.config.location=配置文件路径

   

七、配置文件优先级顺序

  官网文档:https://docs.spring.io/spring-boot/docs/2.0.0.RC1/reference/htmlsingle/#boot-features-external-config

  注意:各文件不是独立生效,而是若参数相同,则按优先级;若参数不同,则各文件互补。

  

おすすめ

転載: www.cnblogs.com/Drajun/p/12142742.html