SpringBoot-03- 配置文件 Properties

简介
使用Spring Initializer快捷创建SpringBoot的项目自动生成了一个全局的application.properties配置文件。
SpringBoot-03- 配置文件 Properties_第1张图片

一、作用

1、修改SpringBoot自动配置的默认值;
2、添加自定义属性;

配置文件命名规则 : application-{profile}.properties
加载配置文件的特性:springboot启动会对项目中所有的配置文件都扫描加载,进行互补配置,但在相同配置下有优先级区别,高优先级会覆盖低优先级的配置

二、优先级规则

springboot启动会自动扫描项目中的所有application-xxx.properties文件,并将根据优先级与互补配置规则选择springboot的默认配置文件。
SpringBoot-03- 配置文件 Properties_第2张图片
比如我们在resources下创建一个config文件夹,里面也创建一个application.properties的文件。

  • 在自己新建配置文件中设置 端口号为6688
  • 在系统自带配置文件中设置 端口号为6699,请求路径/demo

根据运行结果可得规则:优先级高低+互补配置SpringBoot-03- 配置文件 Properties_第3张图片

除此外,SpringBoot还支持很多方法对其配置,比较常用的还有运行时命令行配置:

java -jar xxx-jar --server.port=8077 --server.context-path=/abc

三、常用配置

1、系统的配置文件application.properties:

一般配置端口号、servlet容器、数据库、redis、进程数、请求超时时间、文件上传大小等等的配置;

server.servlet.context-path=/demo
spring.server.port=8899
spring.datasource.url=jdbc:oracle:thin:@xxx:0000/DEMO
spring.datasource.username=xxx
spring.datasource.password=xxx
spring.server.MaxFileSize=300MB
spring.server.MaxRequestSize=500MB

当然也可以设置很多其他常量,比如: 在系统的配置文件application.properties中设置一些常量值,然后用一个类取获取这些值!
a. 设置常量值:
SpringBoot-03- 配置文件 Properties_第4张图片
b.给Person类赋值:
SpringBoot-03- 配置文件 Properties_第5张图片
c. 测试运行
SpringBoot-03- 配置文件 Properties_第6张图片

2、自定义的配置文件: xxx.properties:

主要用于自定义一些公共常量、路径地址、公共属性等,比如针对上边的例子,我们就可以把常量配置提取出来放到自定义的文件中。
这种配置文件SpringBoot是不自动识别的,使用时需要自己通过注解的方法配置。

a. 设置常量值:
SpringBoot-03- 配置文件 Properties_第7张图片
b.给Person类赋值:
SpringBoot-03- 配置文件 Properties_第8张图片

/**
 *  要求:将配置文件中配置的每一个属性的值都映射到组件中
 *
 * @ConfigurationProperties(prefix = "person")默认从全局配置文件中取
 * @ConfigurationProperties:告诉springboot将本类中的所有属性和配置文件中相关的配置进行绑定;
 * prefix = "person":配置文件中person下的所有属性进行一一映射
 * 只有这个组件是容器中的组件,才能使用容器提供的ConfigurationProperties功能
 *
 * @PropertySource(value = {"classpath:person.properties"}):加载指定的配置文件
 * classpath:person.properties :配置文件的路径
 */
 
@Component
@ConfigurationProperties(prefix = "person")
@PropertySource(value = {"classpath:person.properties"})

public class Person {
    private String name;
    private Integer age;
    private  String birth;
    private Boolean man;
    ....
    }

c. 测试运行
SpringBoot-03- 配置文件 Properties_第9张图片

四、多profile文件配置

我们在实际的开发中会配置两个文件分别对应开发环境与发布环境。
开发项目时使用生产环境的配置,等到部署正式服务时切换到正式环境的配置;
实际开发过程中一般会新建两个properties文件:

application.properties: 配置公共属性
application-dev.properties: 配置开发环境属性,如测试数据库信息等
application-pro.properties: 配置发布环境属性,如正式数据库信息等

SpringBoot-03- 配置文件 Properties_第10张图片
配置文件的激活方式:

1、在配置文件中指定

spring.profiles.active=dev

2、命令行:

java -jar xxxx.jar --spring.profiles.active=dev

3、手动设置
选择Edit Configurations
SpringBoot-03- 配置文件 Properties_第11张图片
Active profiles:中输入对应的配置文件profile
SpringBoot-03- 配置文件 Properties_第12张图片
效果:
不设置
SpringBoot-03- 配置文件 Properties_第13张图片
设置为dev
SpringBoot-03- 配置文件 Properties_第14张图片
设置为pro
SpringBoot-03- 配置文件 Properties_第15张图片

你可能感兴趣的:(SpringBoot)