Spring Boot使用配置文件来配置和定制应用程序的行为。当使用Spring Initializr或某些IDE的内置工具(如IntelliJ IDEA或Eclipse的Spring Boot插件)来创建一个新的Spring Boot项目时,系统通常会自动生成一个application.properties文件,该文件位于src/main/resources/目录中,这是Spring Boot的默认配置文件。application.properties文件最初是空的,需要开发者根据项目需求进行配置。
除了application.properties文件,还可以选择使用application.yml文件进行配置。如果你更喜欢YAML格式,可以删除application.properties文件并替换为application.yml文件。两者的功能是相同的,只是表示和格式有所不同。
application.properties使用属性键-值对的方式配置应用程序属性,键-值对之间使用“=”进行分隔。例如,指定服务器端口。
# 设置服务器端口为8081 server.port=8081
文件中的“#”表示单行注释,属性之间的层级关系使用点语法表示,下面是一个典型的系统配置内容,指定了服务器端口及数据库连接相关的信息。
# 设置服务器端口为9090 server.port=9090 # 设置数据库的连接地址 spring.datasource.url=jdbc:mysql://localhost:3306/mydb # 设置数据库账号 spring.datasource.username=root # 设置数据库密码 spring.datasource.password=rootpassword
application.yml是Spring Boot的另一种标准配置文件格式,使用YAML(yet another markup language)语法。与application.properties相比,application.yml提供了一种更加结构化和简洁的方式来表示配置。
YAML通过缩进来表示层级结构,键-值对之间使用“:”分隔。例如,指定服务器端口。
# 设置服务器端口为8081 server: port: 8081
YAML文件非常依赖于正确的缩进。一个常见的错误是混淆制表符和空格,或者使用了错误数量的空格进行缩进。当处理YAML时,要确保你的文本编辑器或IDE能够正确显示缩进,并避免使用制表符。
下面是一个典型的使用YAML文件的系统配置内容,指定了服务器端口及数据库连接相关的信息。
# 设置服务器端口为9090 server: port: 9090 # 设置数据库的连接信息 spring: datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: rootpassword
对于简单的配置,application.properties文件非常直观和简洁,但当涉及大量的配置和多层嵌套时,可读性会受到影响。application.yml文件结构更清晰,用户容易理解配置之间的关系,具有更优的可读性,特别是在有许多层级和嵌套的情况下。
选择哪种格式主要取决于个人或团队的偏好、项目的复杂性以及你希望获得的可读性。简单项目可能会更倾向于使用application.properties,而复杂的项目或那些已经在其他地方使用YAML的项目可能会选择使用application.yml。