億、春ブーツグローバルコンフィギュレーション・ファイル
することにより、以前の春のブートプロジェクトをビルドするとき、我々は知ることができ、春ブーツプロジェクトは、デフォルトの設定となっています。しかし、実際には、各プロジェクトは、独自の特殊性を持っている、それだけで、デフォルトの設定、追加したり、独自の構成の一部を変更する必要性を使用することは不可能です。
春のブートコンフィギュレーションファイルには、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=配置文件路径
七、配置文件优先级顺序
注意:各文件不是独立生效,而是若参数相同,则按优先级;若参数不同,则各文件互补。