【SpringBoot教程】配置文件详细总结

常用配置

SpringBoot常用的配置如下

# 端口
server.port=8080
# 应用名称
spring.application.name=hello
# 请求上下文
server.servlet.context-path=/hello

更多属性查询Spring官网:https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#appendix.application-properties

Spring 提供三种类型配置文件

  • application.properties(传统方式)
server.port=8080
  • application.yml(主流方式)
server:
  port: 8080
  • application.yaml
server:
  port: 8080

配置文件优先级:application.properties > application.yml > application.yaml

优先级高的会覆盖优先级低的配置。

yml语法

yml相比properties 更方便阅读,目前主流都是采用yml。

语法注意:属性名: 属性值,大小写敏感、# 表示注释…

# 基本类型
bool: true
string: "str"
int: 0

# 对象
obj:
  name: name1
  age: 11

# 数组
array: 1,2,3

# 数组对象
arrayObj:
  - name: terry
    age: 11
  - name: terry2
    age: 12

# 数组对象 JSON格式
json: [{name: terry, age: 11}, {name: terry2, age: 12}]


# 变量引用
baseUrl: http://127.0.0.1
add: ${baseUrl}/add
update: ${baseUrl}/update

读取配置文件

使用@Value读取单个属性

yml示例

obj:
  name: name1
  
# 数组
array: 1,2,3

# 数组对象
arrayObj:
  - name: terry
    age: 11
  - name: terry2
    age: 12

java 示例


    @Value("${obj.name}")
    private String name;

    @Value("${array}")
    private int[] array;

    @Value("${arrayObj[0].name}")
    private String array1;
使用Environment读取全部属性
@Autowired
private Environment environment;

@RequestMapping("/testEnv")
public void testEnv(){
    String name = environment.getProperty("obj.name");
    String add = environment.getProperty("add");
    System.out.println(name);
    System.out.println(add);
}
使用@ConfigurationProperties

使用@ConfigurationProperties 可以自动将配置装配到配置类中

datasource:
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost:3306/test
  username: root
  password: 123456
@Configuration
// 指定前缀
@ConfigurationProperties(prefix = "datasource")
public class MyDataSource {

	// 属性名和配置类一样
    private String driver;
    private String url;
    private String username;
    private String password;
} 

多环境开发

企业级开发中,通常会定义如下配置文件。

application.yml
# 开发环境
application-dev.yml
# 生产环境
application-prod.yml
# 测试环境
application-test.yml

application.yml 指定开发环境

spring:
  profiles:
    active: dev

临时属性

临时属性指不写在配置文件,在外部启动项目添加参数。打jar包追加参数、idea启动追加参数,如下:

设置端口号

java -jar springboot.jar --server.port=8080

指定读取的配置文件:

java -jar springboot.jar --spring.config.location=classpath:/app.yml

配置位置优先级

  1. 打包后当前目录 config/application.yml
  2. 打包后当前目录 application.yml
  3. classpath: config/application.yml
  4. classpath: application.yml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

terrybg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值