spring boot 默认使用 application.properties 管理配置,按固定顺序加载(config/目录 > 根目录 > classpath/config > classpath根路径),支持点号分层、多环境profile、@configurationproperties 类型安全绑定。

Spring Boot 默认通过 application.properties 文件管理应用配置,它简单、直观,适合中小型项目或快速启动场景。关键在于理解加载顺序、语法规范和常见使用模式。
配置文件位置与加载优先级
Spring Boot 按固定顺序扫描配置源,application.properties 的位置不同,优先级也不同:
-
项目根目录下的
config/子目录(如./config/application.properties)——最高优先级 -
项目根目录(
./application.properties) -
classpath 下的
config/目录(如src/main/resources/config/) -
classpath 根路径(
src/main/resources/application.properties)——默认常用位置,优先级最低
同名属性后加载的会覆盖先加载的。例如,打包成 jar 后,可通过 java -jar app.jar --spring.config.location=file:./config/application.properties 指定外部配置。
基础语法与命名规范
使用点号(.)分隔层级,支持嵌套结构,但本质仍是扁平键值对:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
server.port=8080→ 对应ServerProperties中的 port 字段 -
spring.datasource.url=jdbc:h2:mem:testdb→ 自动绑定到DataSource配置 -
myapp.name=DemoApp→ 自定义属性,需配合@Value("${myapp.name}")或@ConfigurationProperties(prefix = "myapp")使用
注意:键名推荐小写+中划线(kebab-case),如 logging.level.org.springframework=debug;Spring Boot 会自动映射为驼峰或下划线形式(如 logging.level.org.springframework 等价于 logging.level.org.springframework)。
多环境配置与 profile 切换
通过 spring.profiles.active 激活对应 profile,配合命名约定实现环境隔离:
- 主配置:
application.properties(通用配置) - 开发环境:
application-dev.properties - 生产环境:
application-prod.properties
在 application.properties 中写入:spring.profiles.active=dev
或启动时指定:java -jar app.jar --spring.profiles.active=prod
类型安全配置绑定(推荐方式)
比起零散的 @Value,更推荐用 @ConfigurationProperties 实现类型安全、可校验、支持 IDE 提示的配置管理:
- 定义配置类,添加
@ConfigurationProperties(prefix = "app")和@Component - 在
application.properties中写:app.title=My Service<br>app.timeout=3000<br>app.features.cache=true
- 启用元数据支持(添加
spring-boot-configuration-processor依赖),IDE 就能提示属性名和类型
该方式还支持 JSR-303 校验(如 @NotBlank、@Min(1)),并在启动时报错提示非法配置。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










