SpringBoot 配置文件核心用法
SpringBoot 通过规范的配置文件格式,帮助我们集中管理项目配置,比如服务端口、数据库连接、第三方密钥以及日志设置。这些配置不仅影响启动行为,也是排查问题的关键依据。
为什么需要配置文件
默认情况下,SpringBoot 内置的 Tomcat 监听在 8080 端口。如果本地有其他程序占用了这个端口,或者我们需要调整数据库连接参数,就必须通过配置文件来覆盖默认值。常见的配置场景包括:
- 服务端口:自定义监听地址,避免端口冲突。
- 数据源信息:用户名、密码、JDBC URL 等持久层连接细节。
- 外部依赖:第三方系统的调用密钥或 API 地址。
- 日志级别:区分普通日志与异常日志,便于定位问题。
两种主流格式对比
SpringBoot 支持三种文件后缀:application.properties、application.yml 和 application.yaml。其中 .yml 是 .yaml 的简写,实际开发中更常用。
共存与优先级
理论上,.properties 和 .yml 可以同时存在,启动时都会被加载。如果两者配置了相同的键,通常 .properties 的优先级会更高。不过为了避免维护混乱,建议项目中统一使用一种格式。
注意:修改配置文件后,IDEA 可能会因为编码问题显示乱码。确保文件保存为 UTF-8 格式即可解决,无需频繁重启 IDE。
Properties 语法与读取
Properties 采用经典的键值对形式,结构简单直观。
基本写法
# 配置项目端口号
server.port=9090
# 配置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
读取配置值
在代码中,我们可以使用 @Value 注解直接注入单个属性值。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class PropertiesController {
// 读取 mykey.key1 对应的值
@Value("${mykey.key1}")
private String key1;
@RequestMapping("/key")
public String key() {
return + key1;
}
}


