核心概念:application.properties 与 application.yml
Spring Boot 默认使用这两种文件进行配置(二者选其一即可,.yml 更常用)。
application.properties (传统键值对格式)
server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret
logging.level.com.example.demo=debug
application.yml (YAML 格式,层次感更强,推荐使用)
server:
port: 8081
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: secret
logging:
level:
com.example.demo: debug
YAML 注意事项:缩进必须使用空格,不能使用 Tab 键,冒号后面必须有一个空格。
配置的加载位置与优先级
Spring Boot 会从以下位置按从高到低的优先级加载 application 配置文件(高优先级的配置会覆盖低优先级的配置):
- 当前项目根目录下的
/config子目录 - 当前项目根目录
- classpath 下的
/config包 (即src/main/resources/config) - classpath 根路径 (即
src/main/resources)
最佳实践:在开发时,将通用配置放在 src/main/resources/application.yml 中。在打包部署时,可以在 JAR 包所在目录创建一个 config 文件夹,里面放一个 application.yml 来覆盖开发环境的配置(如数据库连接),这样就实现了配置与代码分离。
外部化配置(非常强大)
除了配置文件,Spring Boot 还支持多种外部配置方式,优先级高于application.yml。这在容器化部署(如 Docker)时尤其有用。
-
命令行参数
java -jar yourapp.jar --server.port=8888 --spring.datasource.url=jdbc:mysql://prod-server:3306/proddb


