Spring Boot基础(二):配置文件详解
在Spring Boot中,配置文件是一个非常重要的部分,能够帮助我们配置应用的各个方面,比如数据库连接、端口号、日志级别等。Spring Boot默认使用application.properties
和application.yml
这两种格式来进行配置,下面我们逐一解析。
一、基本配置文件
- application.properties
最基本的配置文件格式是application.properties
。我们可以在项目的 src/main/resources
目录下创建这个文件,示例如下:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
server.port=8080
spring.application.name=my-spring-boot-app
logging.level.root=INFO
这些配置简单易懂,主要用于定义数据库连接信息、服务器端口及应用名称等。
- application.yml
另一种常用的配置方式是application.yml
,这是一种更加人性化并且层次结构清晰的配置格式。下面是上面的配置在application.yml
中的写法:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
server:
port: 8080
spring:
application:
name: my-spring-boot-app
logging:
level:
root: INFO
二、配置文件的使用
当我们定义了这些基本配置后,Spring Boot会自动根据这些配置进行相应的环境设置。不过,有时候我们需要根据不同的环境(如开发、测试、生产)使用不同的配置。这个时候,我们可以使用 Spring Boot 的“环境特性”。
1. 配置多个文件
我们可以通过在application.properties
或application.yml
基础上,在不同的文件中定义环境配置。例如,我们可以创建 application-dev.properties
和 application-prod.properties
,分别用于开发和生产环境。
# application-dev.properties
spring.datasource.url=jdbc:mysql://localhost:3306/devdb
spring.datasource.username=devuser
spring.datasource.password=devpass
# application-prod.properties
spring.datasource.url=jdbc:mysql://localhost:3306/proddb
spring.datasource.username=produser
spring.datasource.password=prodpass
在启动应用时,我们可以通过参数指定当前使用的配置文件,可以在命令行中设置:
java -jar my-spring-boot-app.jar --spring.profiles.active=dev
2. 外部配置
Spring Boot还支持外部化配置。我们可以将配置文件放在外部文件系统中,甚至在环境变量中。Spring Boot会按顺序查找以下位置的配置文件:
classpath:/config/
classpath:/
/config/
/
3. 属性占位符
在配置文件中,我们可以使用占位符来引用其他配置。假设我们在 application.properties
中有一个配置项来定义应用的名称,然后在其他地方通过占位符引用它:
app.name=my-spring-boot-app
welcome.message=Welcome to ${app.name}!
通过这种方式,可以提高配置的可读性和管理性。
总结
通过上述的介绍,我们对Spring Boot的配置文件有了更深入的了解。配置文件让我们的应用可以根据不同的环境灵活调整参数,从而提升开发效率和运行效果。无论是使用application.properties
还是application.yml
,都可以合理地管理和维护项目的配置。希望这篇文章能为你在使用Spring Boot时提供一些帮助。